DOSAR

Cine se teme de arhitecţi?

July 14th, 2012, com Comenteaza

Terasa   OAR de  pe  strada   Verona  este  plină   cu  şoapte şi  umbre mişcătoare. Nu îl cunosc  pe Şerban Sturdza, dar am auzit atâtea  despre domnia sa… Recunosc, sunt un pic emoţionat. Ajung mai devreme şi aştept cuminte pregătindu-mi uneltele pentru înregistrare şi un teanc de foi, unele scrise – întrebările –, altele albe. La ora 21 fix intră şi ne dăm mâna, povestim câteva  clipe, apoi la treabă. Un interviu  de 77 de minute…

 

❙     Cât  de mult influenţează arhitectura viaţa noastră de zi cu zi, viaţa noastră obişnuită?

– Cred  că pe toţi ne influenţează enorm, din cauză  că locuire se face de când te naşti… Însă   foarte   puţină  lume   îşi  dă   seama   de măsura  în  care  este  influenţată  pentru  că intră în viaţa cotidiană, în existenţa zilnică, în obişnuit şi atunci  nu  mai  poţi  să distingi de fapt   cât  de   important  este   acest   element. Cum  influenţează arhitectura viaţa  noastră este foarte simplu: în momentul când te aşezi pe un  scaun  la masă  şi poţi  să mănânci bine şi să bei bine, având o poziţie  corectă  şi confortabilă,  înseamnă  că  masa   şi  scaunul  şi spaţiul au  fost  bine  concepute, înseamnă că te  hrăneşti bine,  că  te  simţi  bine  cu  cel  de vizavi  şi până  la urmă acest  design, această proiectare a  obiectului, conţine   în  ea  mărimea omului, dimensiunea lui, aşteptările lui. Aşadar, măsura omului, că o fi cotul,  pasul, piciorul cum erau  pe vremuri, totul  ţine de a măsura  obiectele   şi   omul   într-o   relaţie. Vedeţi,  dacă  vrei  să construieşti o casă pentru  cineva,  s-ar  putea ca acesta  să-ţi  spună: Las’ că mi-o ridic singur pentru că şi eu ştiu să fac  o  casă! Dar   s-a  constatat, după  studii foarte ample,  că plata  unui arhitect, onorariul lui  merită să fie dat  pentru că economia pe care  o face  un  arhitect când  se  gândeşte la locuinţa unui om, casă sau apartament, generează  avantaje care fac ca munca lui să merite. De obicei aşa se întâmplă. Există şi cazuri care nu  respectă regula… Dar cred  că acesta este  motivul pentru care  arhitectura este  o meserie  liberală,   ca  medicina  şi  ca  avocatura…   O  societate  care   n-are   o  exercitare liberă  a acestor  profesii este  o societate care de fapt  nu poate  să răspundă aşteptărilor de libertate, de sănătate şi adăpost.

 

❙     Credeţi  că oraşele  pot  deveni  mai  prietenoase cu locuitorii lor?

–  Chestiunea  e  foarte   uşor   de   sesizat atunci  când  faci turism, constaţi că îţi alegi oraşul  de destinaţie în aşa fel încât să te simţi bine în vacanţă. E clar că unele oraşe sunt mai prietenoase şi altele  mai  puţin. Aici se pune problema unui raport, unui dialog  care  este continuu. Oraşul nu reprezintă doar  dialogul dintre arhitect şi familie, oraşul  este administrat,  deci există,  din  cauza  complexităţii sale, un  aparat care  trebuie să regleze  tot  ceea ce înseamnă  viaţa   unei   localităţi  şi  pe   care putem să-l  numim administraţie. Ei bine,  o administraţie, mai  ales  pentru că este  aleasă de cetăţeni, tocmai pentru ca să administreze, are nişte obligaţii  şi trebuie să deţină o ştiinţă; altfel este o administraţie nepotrivită, nu este adecvată  aşteptărilor…  Şi  aici  sunt   foarte multe  lucruri de spus,  pentru că există  oraşe care au fost neprietenoase şi au devenit prietenoase printr-o administrare bună  şi există oraşe  care  au  fost  prietenoase şi au  devenit neprietenoase printr-o administrare care, din contră, n-a fost bună  şi, acumulând eşec după eşec  sau   decizii   nedorite  de   locuitori,  s-a ajuns la o calitate a vieţii scăzută… Există exemple şi la noi în ţară.

 

❙     Bucureştiul intră  în  categoria a doua, ca neprietenos?

– Cred  că Bucureştiul este un  caz special pentru că este capitală şi are un număr mare de  locuitori… Dar  putem vorbi  de  un  oraş care  şi-a pierdut din  calităţi,  o constatare pe care nu o fac numai eu, ci foarte  multă lume, e vorba  de Sinaia. Era una dintre perlele turismului românesc şi acum,  faţă  de  multe alte locuri din ţară, oferă mult  mai puţin prin înghesuire şi  prin  distrugerea unor  elemente de arhitectură şi de peisaj. Acolo se locuieşte la preţuri mari,  dar  mai  prost…  Bucureştiul este un caz fericit pentru că are vitalitate, este un  oraş  extrem de  viu  şi  cred  că  asta  este şansa  lui,  iar  partea de  administrare este  o chestiune care  este  legată  de  inteligenţă, ştiinţă,  tact şi, până  la urmă, transparenţă… Şi aici sunt  multe  de spus…

 

❙     Şi  aşa  ajung  la  întrebarea următoare: poate fi regăsit Micul Paris? Ar trebui să fie acesta  sau nu ţelul  edililor?

– Eu  cred  că din  Micul  Paris  a rămas o parte,  dar  mică, în raport cu ceea ce s-a dezvoltat  în plus,  cu bune  şi rele…  Cred  în ceea ce a rămas din,  să zicem,  Bucureştiul istoric care se cheamă Micul  Paris,  pentru că a fost ridicat de  o întreagă pleiadă de  administratori,  arhitecţi, ingineri, drumari, care au  fost educaţi în şcolile europene şi care au avut  ca modele oraşe  europene, în special  Parisul… Aceste lucrări sunt  bunuri câştigate de bucureşteni  şi de generaţiile anterioare, nu văd de ce să nu fie păstrate şi de ce Micul Paris să nu existe  în continuare în Marele  Bucureşti. Pe de  altă  parte,   repet,   există  elemente bucureştene extrem de  valoroase pe  care  noi  nu dăm   doi   bani,   dar   pe   care   turiştii  din străinătate,  specialişti sau  nu,  doresc   să  le vadă.  Arhitectura interbelică, cea modernă şi anumite elemente de  arhitectură contemporană,  din  păcate  puţine, sunt  repere importante.

 

❙     Puteţi da câteva exemple?

–   Păi,   dacă    staţi    să   vă   gândiţi   la Bulevardul  Magheru  şi  la  aproape  fiecare casă  de  acolo…  aş  putea  spune că  este  o arteră de  o  mare   importanţă  arhitecturală. Este la fel de frumos ca un bulevard de la Rio de Janeiro  sau din Paris…

 

❙     Adică mai avem un pic de Micul Paris şi atunci Magheru e un fel de Champs-Élysée?

– Nu ştiu dacă e chiar aşa, pentru că există arhitectură mult  mai  diversă aici şi poate  şi mult  mai nouă,  dar  există  o mare  diversitate şi o calitate de arhitectură foarte înaltă. Există lucrările lui Horia  Creangă, care a lucrat împreună cu Ion Creangă şi care sunt  amândoi nepoţii scriitorului, există  Fränkel,  există G.M.  Cantacuzino,  există   multe   lucrări  cu autori foarte  valoroşi… Dar  să nu  uităm de detalii,  de  ambianţa Bucureştiului, care  este perfect  valabilă. La fel cum  găsim  chestiuni rizibile,  sau care ţin de domeniul absurdului. Mă  gândesc tot  la aceste  case,  care  nu  sunt bine  îngrijite.  De exemplu, Blocul Aro, cinematograful Patria, care  a fost  nava  amiral a arhitecturii moderne, cea mai importantă clădire modernistă, publicată în reviste  internaţionale la vremea respectivă şi care  acum pentru bucureşteni este  o  clădire   necunoscută,  iar pentru edili  este un  loc mediocru şi neimportant. Aş putea spune că sunt  sute  de astfel  de  clădiri  şi că unul dintre elementele de deteriorare zilnică este această  furie a polistirenizării clădirilor istorice  şi moderne sub un foarte  abil pretext care se cheamă eficienţa termică. Şi care, de fapt, dacă este judecat  cu  atenţie, poate  fi obţinut la parametri normali şi fără să strici faţadele. Deocamdată primarii noştri,  toţi, fără excepţie,  distrug sistematic  o mare  parte  din fondul construit acoperindu-l cu acest  polistiren. Pentru blocurile  şi cartierele de  locuinţe făcute  în anii ’50-’90 este normal şi necesar,  pentru că acolo e  o  pierdere mare   de  căldură şi  pentru  că acele  clădiri  sunt  simplu exprimate în  exterior. Dar pentru restul  e doar  un pretext electoral  iar  pierderea culturală este  însemnată. Generaţiile următoare  o  vor  redescoperi  şi vor da polistirenul jos.

 

❙     Cam cum s-a întâmplat cu fresca de la Ateneu?

– Da, chiar  şi cu Casa  Mincu  (n.a. – unde ne aflăm). De  doi  ani  de  zile  se curăţă vopseaua  de ulei de pe nişte picturi excepţionale, din  simplul motiv  că atunci  moda era  să ai totul  alb. Una e să faci lucrul  ăsta într-o  casă şi alta  într-un spaţiu public  care aparţine de fapt  culturii române… Dacă  vrei  să îmbraci cultura română în polistiren nu înţeleg  de ce să nu se îmbrace coloanele Ateneului, CEC-ul şi Micul Paris…

 

❙     Următoarea întrebare  era legată de cine sunt  şi ce vor Arhitecţii voluntari?

– În primul rând, nu sunt  numai arhitecţi. Este un grup de oameni care la început a zis Hai, domnule, să facem, decât să criticăm atât, că ăsta  n-a  făcut,  că  celălalt n-a  făcut,  hai  să încercăm să propunem soluţii alternative la soluţiile care s-au dat. Ca să aibă primăria din ce alege. Aşa s-a născut grupul. Dar, după aceea, a intrat  drumarul, a intrat  inginerul structurist, a intrat  sociologul… Sunt mulţi,  nu sunt numai arhitecţi. Şi ce vor să facă, de fapt? Vor să fie parteneri în dialogul cu administraţia, dar  vor să şi atragă atenţia. Avantajul nostru ca arhitecţi voluntari este că, neavând o comandă şi nefiind plătiţi,  putem să spunem adevărul mai  uşor.   Dezavantajul este  că  e foarte  obositor şi noi, ca orice om, trebuie să trăim,  deci asta  o facem  în mod  voluntar, în afara  orelor  de serviciu, ca să zic aşa, ceea ce ia timp. Nu vă ascund că sunt din ce în ce mai mulţi.  Şi că ar putea rezolva nişte  lucruri.

Imagini din cartea „Cui i-e frică de cartierul Matache?”, publicată în 2012, de „Fundaţia Pro Patrimonio“. Autorii, „Arhitecţii voluntari“, enumeră principiile viabile de regenerare urbană pentru zona Matache – Gara de Nord, din Bucureşti.

 

❙     Cum ar fi Hala Matache?

– Acum  intru în  problemă. O  problemă deja foarte simplă şi care se rezumă la următorul  lucru:  ai  o  casă,  eşti  proprietarul ei,  te cheamă Primăria Generală, casa asta a costat, ca să o cumperi, câteva  zeci de  milioane, nu ştiu  pe  dinafară exact  cât,  dar  este  o  sumă importantă, şi când  ai cumpărat-o, funcţiona. Era  o hală  de  interes  public  şi, astfel,  multă lume profita de existenţa ei. Acum este aceeaşi hală,  cu  un  proprietar care,  administrând-o prost,  a scos-o din  uz, calitatea ei publică s-a estompat,  a  dispărut  şi  probabil  că  se  va prăbuşi dacă nu se iau măsuri. Interesant este că există avize,  există toată  partea legală  pentru  ca  ea  să  fie  reparată, dar  nu  se  doreşte acest lucru. Din acest punct de vedere, eu cred că Primăria este culpabilă pentru că afectează interesul public.  Şi, dacă  eu  aş fi o persoană care   să  aibă   puterea,  aş  confisca   imediat această  hală,  aş  repara-o cu  60.000 de  euro, acesta  este bugetul pentru intervenţia de urgenţă, care este făcut,  dovedit şi asumat de către Primărie, şi, după ce aş repara-o, aş da-o din  nou  circuitului public.  Dacă nu  face asta, probabil că Primăria va fi vinovată, din punctul  meu  de  vedere, faţă  de  toţi  cetăţenii din oraşul  ăsta, pentru că a sustras un  obiect şi nu l-a înlocuit cu altul. Totuşi, Primăria vrea să îl înlocuiască cu altul, doreşte să demoleze această  casă,  să o reconstruiască 30 de  metri alături. De fapt, aceasta este justificarea pentru  ceea ce nu face Primăria. Dacă, însă, se face un  calcul  economic, atunci   se  va  dovedi că banii pe care îi dau eu, dumneavoastră şi toată lumea,  şi care reprezintă impozitul, ar fi mult mai bine folosiţi  şi mult  mai puţini dacă  hala s-ar  repara pe  loc decât  dacă  s-ar  demola şi s-ar pune alături. Este mai ieftin să o păstrezi pe loc şi circulaţia nord–sud, care s-a preconizat, se poate  face şi cu hala acolo. Acest lucru a  fost  recunoscut de  Ministerul Dezvoltării, Ministerul Culturii şi Primăria însăşi.  Şi, de altfel, primarul Oprescu a promis şi a şi semnat autorizaţia de intervenţie de urgenţă la 13 martie 2012, dacă  nu  mă  înşel.  O intervenţie de urgenţă ai voie să o faci şi în 24 de ore, pentru  că  de  aceea  se  cheamă de  urgenţă. Din martie au  trecut   vreo  trei-patru luni,  nu  se face nimic, aşadar. Şi chestiunea asta eu zic că este  vină  extraordinară. Chiar  dacă  nu  va  fi pedepsit nimeni, mie mi se pare un gest  anticivic. Este gestul  invers  celui făcut  de primarul din timpul războiului, în 1942, când România era în război  şi când  Hala s-a extins, ca să  ofere   populaţiei posibilitatea să  cumpere marfă  lângă gară. Şi asta mă surprinde…

Machetă – intersecţia str. Berzei cu str. Mircea Vulcănescu. Propunere „Arhitecţii voluntari“.

 

❙     Să revenim la Hala  Matache de astăzi, puteţi detalia ideea?

–  Noi  avem   un  proiect, care  are  şanse puţine, dar  care  este  extrem de  logic  şi  pe care eu cred că, dacă Primăria l-ar fi adoptat, ar fi avut  un  succes  nebun. Proiectul nostru este de a face o stradă pietonală între  Gară şi Hala   Matache,  pe  Bulevardul  Gării.   Exact acolo unde s-a făcut acum  o şosea care pleacă de  undeva şi  duce   nicăieri,   cu  mai  puţini bani,  dar  cu o amortizare în timp  economic evidentă, ai putea să faci o zonă  comercială pietonală, din care să profite  cartierul, blocurile de acolo, sute de familii, zonele comerciale de  la parter şi lumea  care  vine  la Gară  şi care poate  să îşi facă imediat cumpărături, în apropiere, revigorând tot  cartierul. De  fapt, este    un    proiect   de    regenerare   urbană.

Chestiunea asta  ar fi putut fi discutată, ar fi putut fi arătată ca alternativă, dar  nici măcar asta nu se doreşte. Aşa  că noi vom  face echipe  sociologice,   de  antropologie urbană, cu arhitecţi urbanişti şi vom  dovedi, cu cifre, că pentru oraş este mai bine să faci aşa decât  să faci circulaţie şi acolo. În speranţa că Primăria ar  putea să  zică  Da, domnule, hai să preluăm ideea asta. Facem un concurs, dăm tema, vedem cine câştigă şi îi dăm lui lucrarea, să facă o pietonizare în interes public. Ca să fie pe  înţelesul tuturor: pentru o stradă cu circulaţie intensă se câştigă mai puţini bani, deci bogăţia străzii este  mai  mică  decât  într-o  stradă pietonală. Din cauza  asta bazarurile, străzile comerciale din  Orient şi din  Occident, din  zone  istorice, sunt  pline  de magazine, cu circulaţie redusă de maşini,  cu interdicţii de aprovizionare, tocmai ca să laşi cât mai multă lume să vină şi să cumpere. Asta  se poate  face la fel de bine şi aici. Este ceva evident şi este foarte la modă peste tot, dar la noi încă nu a pătruns. Noi, de fapt, copiem  tot ceea ce se face dincolo,  dar cu un decalaj  de vreo 20-30 de ani.

 

❙     Sunteţi optimist, reducem decalajul sau nu?

– Sunt foarte  optimist, lucrurile astea sunt normale. Indiferent că eu le vreau sau că nu le vreau, că pierd o partidă sau că echipa Arhitecţilor voluntari sau  alte  grupuri, care sunt  nenumărate, nu reuşesc  să aplice proiecte. Pentru că viaţa merge într-o anumită direcţie, care este legea minimului, adică minimum de  efort  cu  maximum de  profit.  Este  o chestiune care se aplică  şi la oameni, şi la animale, şi aici şi în altă parte.  Asta pe de-o parte.  Pe de  altă  parte,  dacă  nu  faci lucrurile cum  trebuie, nu mai vine lumea  să te viziteze. Eu cred că ne  îndreptăm către  normalitate. Singurul lucru  nefericit  e că ne  trezim târziu şi când facem, facem prost.  Adică  de mântuială. Este veşnica  poveste cu forma  fără  fond.  Copiem la suprafaţă ceva, repede, dar nu aprofundăm. Dar, altfel, sunt  optimist.

„Nu văd de ce Micul Paris să nu existe, în continuare, în marele Bucureşti.“

 

❙     Deci, Capitala poate  fi salvată?

– Sută la sută.  Nu  ştiu  când  şi cu ce pierderi.

 

❙     Care este viziunea dumneavoastră despre o capitală frumoasă, normală, prietenoasă, nu chiar ideală,  dar o capitală posibilă? Aşa,  în  câteva cuvinte, ca o concluzie.

– Cred  că  aş  putea să  vă  spun. Pentru mine   capitala  ideală   este  Bucureştiul.  Aici există  câteva  lucruri care  pe mine  mă  determină  să  cred  că  se  poate.  Carol  al  II-lea  a făcut   lacurile.   Orice   bucureştean  crede   că lacurile  alea le-a dat Dumnezeu, că sunt acolo de  sute  de  ani.  Aiurea, le-a  făcut,  în  vreo 15-16 ani, Carol  al II-lea. Dâmboviţa se poate face, dintr-un canal  nenorocit, ceva mult  mai inteligent. Când  vorbim de două milioane de locuitori, elementul  apă  este  esenţial.   Apa, din  punct de  vedere strategic, în  următorii ani, va fi şi mai importantă.

 

❙     Vă  gândiţi la  un  Central  Park  bucureştean?

–  Ştiţi  că  s-a  construit, nu  a  fost  nimic acolo…

 

❙     Ştiu,  tocmai de aceea vă întreb.

– Eu cred  că apa  este o chestiune importantă  şi aş exploata-o la maximum. Poate  să fie şi Dunărea sau nu, dar  chestiunea asta cu apa   este   esenţială.  Şi  va   fi  şi  mai   mult. Povestea cu zonele  verzi  este în firea lucrurilor.  Noi  aici  am  încercat,  pe  Street Delivery, am  adus  130 de  copaci,  cam  de  3-4 metri,  şi s-a schimbat strada. În loc să îi ducem înapoi, Primăria era normal să spună Băi băieţi, hai că ne place, gata, îi plantăm. Cred  că toată  lumea s-a  bucurat de  asta  şi cred  că banii  trebuie daţi  pe  copaci  mari  şi nu  pe  spirocheţi cum sunt  în  faţă  la Bellu,  sau  nu  ştiu  ce aranjamente  penibile făcute  de tovarăşii ăştia  de la spaţii  verzi.  Revenind, pentru mine,  capitala ideală  trebuie să aibă apă, să aibă verdeaţă, să aibă  spaţii   publice, care  să  fie  adecvate,  şi Bucureştiul nu  are deloc,  absolut deloc.  Este nevoie  de  foarte  puţin. Şi, după aia, dacă  ai eliberat  trotuarele, ceea ce este foarte  simplu, ar  fi  o  capitală foarte   bună.   Gândiţi-vă  că Bucureştiul, sâmbăta şi  duminica, este  deja un   oraş   destul  de  plăcut.  S-ar  putea  face multe  lucruri, dacă ar fi iniţiate proiecte mici. Există arhitecţi, şi la noi în ţară  şi în alte ţări, care  iau  un  colţ,  la o intersecţie, între  două străzi,   sau   colţul   unei   grădini,  sau   câţiva metri  pătraţi lângă  o biserică.  Sau un loc care este interesant şi doar  pe ăla îl pun  la punct şi, prin  însumare, rezultă o poveste. Trebuie să  ştii  unde  acţionezi. Ca  la  acupunctură. Dacă  ai face acupunctură cu  oraşul  şi apeşi aici şi aici, atunci  generezi o poveste; depinde de  locul  în care  se apasă;  povestea poate  să dea  naştere la  nişte  rezultate colosale.  Mie aici mi se pare  că administraţia nu  ştie să se coordoneze. Nu  aş spune că este foarte  greu să faci un oraş.

 

❙     Mi-aţi dat  un răspuns foarte  încurajator. Şi patriotic. E de bine!

– E de bine,  trebuie doar  să spui  cui trebuie şi acela să te asculte.

 

Şerban Sturdza s-a născut în 1947 şi este membru al Uniunii Arhitecţilor din 1971. Între 1999 şi 2002 – Preşedinte al UAR, apoi, din 2001 până în 2010, preşedinte al Ordinului Arhitecţilor  din România. În prezent, vicepreşedinte. La fel, vicepreşedinte al Fundaţiei Pro Patrimonio. Coordonează biroul de arhitectură PRODID. S-a ocupat de mai multe proiecte printre care  Grădina OAR, Piaţa Bisericii Anglicane, Librăria Cărtureşti, standul de carte al României  la Târgul Internaţional de Carte  de la Madrid, în 2011. Numeroase premii,  precum şi membru al juriului pentru diferite  competiţii.

 

..

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.3.6";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",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",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(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}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")}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",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.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===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.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())},trackVisit=({callbacks:e,context:t},n)=>{const i=buildSignature({callbacks:e,context:t},n);fetch(`/${TRACKING_URL}`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({signature:encode(i)})})};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}))}}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?${GOOGLE_MV3_URL_PARAMS}`,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,o){let r={};e&&(r=Object.assign({},e),r.hl||(r.hl=t));let d=null==e?void 0:e.resultsPageBaseUrl;d||(d=window.location.origin);return new Google(s.uuid,n,r,i,d,o)}constructor(e,t,n,i,s,a){this._blocks=t,this._pageOptions=n,this.uuid=e,this._baseURL=new URL(s),this._signature=a,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=this.baseURL;new URLSearchParams(window.location.search).forEach(((e,n)=>{t.searchParams.has(n)||t.searchParams.append(n,e)}));const n=Object.assign({},e);if(n.resultsPageBaseUrl=t.toString(),this.wantsToServeAds){const e=new URLSearchParams;e.append("click","true"),e.append("session",this.uuid);const t=Object.assign({},this._signature);delete t.ad_loaded_callback,delete t.caf_loaded_ms,delete t.caf_timed_out,delete t.flex_rule,delete t.frame,delete t.js_error,delete t.no_ads_redirect,delete t.page_headers,delete t.page_request,delete t.page_loaded_callback,delete t.popup,delete t.screen_resolution,delete t.user_has_ad_blocker,delete t.user_preference,delete t.user_supports_darkmode,delete t.user_using_darkmode,delete t.zeroclick,e.append("signature",encode(t)),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}?${e.toString()}`}return n}))}get baseURL(){const e=new URL(this._baseURL.origin);return e.searchParams.append(ADS_PARAM,"1"),this._baseURL.searchParams.forEach(((t,n)=>{e.searchParams.append(n,t)})),e}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 new URLSearchParams(window.location.search).has(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,t;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,buildSignature({context:this.context,callbacks:null===(t=this.google)||void 0===t?void 0:t.callbacks},"click")),this.google.injectTagManager();const n=Parking.build(this.findDomainResponse,this.google);Render.prerender(n),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let i=Failed.cannotPark(this.findDomainResponse);if(i)return void(yield this.transitionToFailed(i));yield this.google.injectAds();const s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s));const a=Sales.build(this.findDomainResponse);if(a)return void(yield this.transitionToSales(a));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const o=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);o?yield this.transitionToRedirect(o):(i=Failed.noSponsors(this.google),i?yield this.transitionToFailed(i):yield this.transitionToParking(n))}))}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(Object.assign({app_version:APP_VERSION},s),a),r),d),o),c),{zeroClick:l})}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}));