back to top

Svjetski dan hrane 2016

  • Akademik Ferdo Bašić, prof. emeritus
    član HAZU, sudionik samita, Agronomski fakultet Sveučilišta u Zagrebu, Zagreb, Hrvatska
    Akademik Ferdo Bašić, prof. emeritus

    Hrvatski agroekolog Ferdo Bašić stasao je u krugu Zagrebačke agroekološke škole, kojoj je okosnica Zavod za opću proizvodnju bilja Agronomskog fakulteta Sveučilišta u Zagrebu. Četiri i pol desetljeća rada posvetio je istraživanju tla, gospodarenja tlom i zaštiti tla, inspiriran riječima utemeljitelja Zavoda akademika Gračanina: Tla Hrvatske najveće su blago hrvatskog naroda, neiscrpni izvor njegovih snaga i temelj hrvatske domovine. Poznavati ih znači poznavati temelje na kojima Hrvatska počiva…
    Iz tekstova kojima je autor od 1983. godine do danas samo u Hrvatskoj učilo je više od 150 tisuća učenika srednjih poljoprivrednih škola, a predavao je studentima fakulteta Sveučilišta u Zagrebu; na prvom mjestu matičnog – Agronomskog, zatim Prirodoslovno matematičkog, Rudarsko geološko naftnog i Prehrambeno biotehnološkog te poslijediplomskog studija “Ekoinženjerstvo”. Slušali su ga i studenti najstarijeg u nas poljoprivrednog učilišta u Križevcima; Mediteranske poljoprivrede Sveučilišta u Splitu; agronomije Sveučilišta u Mostaru i Univerziteta u Sarajevu.
    Uvjerljivost njegova verbalnog i pisanog istupa crpi iz istraživačkog rada. Autor je više od 250 znanstvenih radova (a1-25, a2-59, a3- 80), autor ili urednik u preko stotinu knjiga i više od 350 stručnih radova. Ističemo monografijunaslova The Soils of Croatia, u izdanju ugledne izdavačke kućeS pringer (Dordrecht, Heidelberg, London i New York). Oslanja se na ekipni rad pa se uz njegovo u radovima nalaze imena preko tri stotine pedeset suautora, od toga preko stotinu iz inozemstva, a web stranica, na kojoj se mogu naći detalji, posjećena mu je preko 11 000 puta iz brojnih država sa svih kontinenata.
    Svojim cjelokupnim djelovanjem, napose na agroekološkoj valorizaciji – regionalizaciji hrvatske poljoprivrede, osmišljavanju ekološki, gospodarski i socijalno održivih postupaka u gospodarenju tlom usmjerenih održivoj intenzifikaciji uzgoja bilja u različitim agroekološkim uvjetima, ostavio je dubok trag u poljoprivrednim znanostima Hrvatske.

  • Andrea Gross – Bošković, dipl. ing. preh. teh. i bioteh.
    Ravnateljica
    Hrvatska agencija za hranu (HAH)

    Rođena u Zagrebu. Po završetku srednje matematičko-informatičke škole upisala studij na Prehrambeno-biotehnološkom fakultetu Sveučilišta u Zagrebu gdje je diplomirala 1995. godine na dva smjera, prehrambeno inženjerstvo i biokemijsko inženjerstvo.
    Prvo zaposlenje u kemijskoj tvornici “ Meteor “ Đakovo na mjestu voditelja laboratorija za kontrolu i razvoj novih proizvoda. Od siječnja 2005. godine radi u Hrvatskoj agenciji za hranu, najprije kao voditeljica Odjela analize rizika, a nakon reorganizacije, kao načelnica Odjela za procjenu rizika. U međuvremenu, od lipnja 2007 do lipnja 2008. radila kao v. d. zamjenica ravnatelja, a od 1.07 2013. kao ravnateljica.
    Na Prehrambeno tehnološkom fakultetu Sveučilišta u Osijeku trenutno pohađa poslijediplomski doktorski studij prehrambene tehnologije. U proteklom razdoblju završila niz domaćih i inozemnih edukacija vezanih za procjenu rizika te obavještavanje o rezultatima procjene rizika u zemlji i inozemstvu, kao i uvođenje i kontrolu HACCP sustava u prehrambenoj industriji.
    Članica je EFSA-ine radne grupe za mikrobiološke rizike (Scientific Network on microbiological risks) i EFSA-ine radne grupe za rizike u nastajanju (Emerging Risk Exchange Network) te nacionalni predstavnik u Savjetodavnom vijeću EFSA-e (Advisory Forum). Tijekom pregovora bila je članica radne skupine za pripremu pregovora – pravne stečevine Europske unije, Poglavlje 12. – Sigurnost hrane, veterinarstvo i fitosanitarna zaštita, a stalna je članica Hrvatskog društva kemijskih inženjera i tehnologa, Hrvatskog društva prehrambenih tehnologa, biotehnologa i nutricionista te Hrvatskog mikrobiološkog društva.

  • Ana Marija Crnić, dipl. ing.
    Načelnica Sektora državne i granične sanitarne inspekcije, Uprava za unapređenje zdravlja
    Ministarstvo zdravlja, Zagreb, Hrvatska
    Ana Marija Crnić

    Ana Marija Crnić diplomirala je na Prehrambeno-biotehnološkom fakultetu Sveučilišta u Zagrebu, gdje je stekla zvanje diplomiranog inženjera prehrambene tehnologije, smjer biokemijsko inženjerstvo. Nakon diplome radi u privatnom sektoru na različitim poslovima u području prehrane i ugostiteljstva. U svibnju 2004. godine počinje raditi kao sanitarna inspektorica u Gradskom uredu za zdravstvo Grada Zagreba, pri čemu obavlja inspekcijske, upravne i stručne poslove u područjima nadležnosti sanitarne inspekcije: sigurnost hrane, predmeti opće uporabe, izvori neionizirajućih zračenja, zaštita pučanstva od zaraznih bolesti, promet, uporaba i zbrinjavanje kemikalija i biocidnih proizvoda, promet genetski modificiranih organizama, provođenje javnozdravstvenih mjera za zaštitu zdravlja ljudi od štetnih čimbenika okoliša.

    Od travnja 2009. godine postaje voditeljicom Službe državne sanitarne inspekcije u Ministarstvu zdravstva i socijalne skrbi čiji djelokrug rada osim inspekcijskih, upravnih i stručnih poslova iz nadležnosti sanitarne inspekcije obuhvaća i poslove izrade strateških ciljeva, izvještavanja o realizaciji postavljenih ciljeva, izrade nacrta prijedloga propisa iz područja sanitarne inspekcije koji se usklađuju s pravnom stečevinom Europske unije, izrade mišljenja i procedura o primjeni propisa iz područja sanitarne inspekcije, izrade mišljenja na nacrte prijedloga zakona, te mišljenja i suglasnosti na podzakonske propise drugih tijela državne uprave u pitanjima koja ulaze u djelokrug sanitarne inspekcije. Tijekom 2012. godine postaje načelnica Sektora državne i granične sanitarne inspekcije u Ministarstvu zdravlja što radi i danas.

    U proteklih 12 godina rada u sanitarnoj inspekciji sudjelovala je na mnogim znanstvenim i stručnim skupovima te edukacijama iz područja sigurnosti hrane kao sudionik te kao predavač. Sudjeluje u izradi i zajedničkom kreiranju politike u području sigurnosti hrane s Ministarstvom poljoprivrede te drugim tijelima i institucijama uključenim u sustav sigurnosti hrane u Republici Hrvatskoj.

  • prof.dr.sc. Danijel Jug
    Poljoprivredni fakultet u Osijeku, Osijek, Hrvatska
    Danijel Jug

    Danijel Jug rođen je 29. listopada 1972., u Osijeku, Hrvatska. Zaposlen je na Sveučilištu Josipa Jurja Strossmayera u Osijeku, Poljoprivredni fakultet u Osijeku na Zavodu za bilinogojstvo.

    Diplomirao je 1998. godine na Poljoprivrednom fakultetu u Osijeku i stekao zvanje diplomiranog inženjera poljoprivrede, ratarskog smjera. Magistrirao je 2005. godine na Agronomskom fakultetu u Zagrebu i stekao zvanje magistra znanosti smjera agroekologija. Doktorski rad obranio je 2006. godine i time stekao akademski stupanj doktor znanosti iz znanstvenog područja biotehničkih znanosti, iz znanstvenog polja poljoprivrede, grana bilinogojstvo. U listopadu 2013. godine izabran je u znanstveno-nastavno zvanje redoviti profesor.

    Područje njegovog znanstvenog rada i interesa vezano je uz konzervacijsku poljoprivredu, agroklimatologiju, tlo i biljnu proizvodnju, održivo gospodarenje zemljištem. Kao koordinator ili predavač održava nastavu na modulima preddiplomskog, diplomskog i poslijediplomskog doktorskog studija. Kao glavni autor ili koautor objavio je više od 120 znanstvenih radova i više od 90 stručnih ili popularnih radova i članaka. Također, kao prvi autor, objavio je jedan sveučilišni udžbenik naslova “Obrada tla u agroekološkim okvirima” (na hrvatskom) i sveučilišni praktikum naslova “Agroklimatološki pojmovnik” (na hrvatskom). Održao je više pozvanih i plenarnih predavanja na domaćim i međunarodnim znanstvenim skupovima. Kao voditelj ili istraživač sudjelovao je na više domaćih i znanstvenih istraživačkih projekata, kojima je glavna tema bila vezana uz istraživanje reakcije biljaka na različite klimatske varijacije i njihova prilagodba primjenom konzervacijskih sustava obrade tla. Aktivan je član više strukovnih nacionalnih i međunarodnih organizacija: HDPOT – Hrvatsko Društvo za Proučavanje Obrade Tla (predsjednik), ISTRO – International Soil Tillage Research Organization, IUSS – International Union of Soil Sciences, ECSS – European Confederation of Soil Science Societies, CSSS – Croatian Society of Soil Science, HAgMD – Hrvatsko Agrometeorološko društvo i GlobalFAMS – Globalna federacija agrometeoroloških društava.

  • Tomislav Kiš, dr. med. vet.
    Pomoćnik ministra
    Uprava za veterinarstvo i sigurnost hrane
    Ministarstvo poljoprivrede
    Tomislav Kiš

    Na Veterinarskom fakultetu Sveučilišta u Zagrebu diplomirao je 1997. godine. U Ministarstvu poljoprivrede – Upravi za veterinarstvo zaposlen je od 2007. godine. Do 2010. godine radi u Sektoru veterinarskog javnog zdravstva, uglavnom na poslovima implementacije Uredbi ‘higijenskog paketa’ EU u hrvatsko zakonodavstvo, u sklopu predpristupnih pregovora Hrvatske s Europskom unijom. U Sektor za zaštitu zdravlja životinja prelazi 2010. godine, na poslove provedbe niza nacionalnih programa ostvarivanja zdravstvenih statusa populacije domaćih životinja. Od 2012. do 2016. godine na mjestu je načelnika Sektora za zaštitu zdravlja životinja, na poslovima izrade i provedbe nacionalnog zakonodavstva iz područja veterinarske epidemiologije, dobrobiti životinja, sustava označavanja i registracije domaćih životinja te organizacije veterinarske službe. Početkom ožujka 2016. godine imenovan je na mjesto pomoćnika ministra, za područje veterinarstva i sigurnosti hrane.

    U proteklih 10 godina sudjelovao na brojnim stručnim skupovima i edukacijama, kao sudionik, ali i kao predavač u području primjene i praktične provedbe različitih programa kontrole i iskorjenjivanja bolesti domaćih životinja prema ovlaštenim veterinarima i uzgajivačima na terenu.

  • Angelo Maggiore
    Odjel za Znanstveno vijeće i rizike u nastajanju, EFSA, Parma, Italija
    Angelo Maggiore

    Angelo Maggiore znanstvenik je koji se bavi proučavanjem morskog okoliša, a od 2014. godine radi kao suradnik u Znanstvenom vijeću i Odjelu za rizike u nastajanju Europske agencije za sigurnost hrane (EFSA). Trenutno je uključen u četverogodišnji projekt karakterizacije rizika od trovanja hranom koja sadrži ciguatera toksin, a ujedno je i koordinator projekta koji proučava toksine cijanobakterija prisutne u hrani. Također, sudjelovao je u izradi Vodiča za razvoj posebnih ciljeva zaštite kod procjene rizika u okolišu Znanstvenog vijeća EFSA-e, a koji se odnose na bio raznolikost i utjecaj ekosustava na čovječanstvo.

    Tijekom svoje karijere, radio je u Europskoj agenciji za kemikalije u Helsinkiju u području klasifikacije opasnosti za okoliš, gdje je u Odboru za procjenu rizika surađivao u davanju mišljenja o prijedlozima za usklađeno razvrstavanje i označavanje.

    U Talijanskoj agenciji za zaštitu okoliša, radio je kao procjenitelj štete u okolišu, pri čemu je pružao tehničku podršku Ministarstvu okoliša u slučaju nastanka štete na različitim okolišnim izvorima.
    Na samom početku karijere, radio je kao oceanograf na sveučilištu Imperial College u Londonu te u Nacionalnom istraživačkom centru u Bolonji gdje se bavio proučavanjem cirkulacije oceana u različitim meteorološkim uvjetima i simulacijom nakupljanja planktona.

  • OBAVIJEST ZA POTROŠAČE – Povlačenje i opoziv proizvoda: Oslić bez glave –Hoki, brzo smrznuto (lat.Macruronus magellancus), najbolje upotrijebiti do: 30.04.2017.
    min-poljoprivrede

    OBAVIJEST ZA POTROŠAČE – Povlačenje i opoziv proizvoda: Oslić bez glave –Hoki, brzo smrznuto (lat.Macruronus magellancus), najbolje upotrijebiti do: 30.04.2017.

    Obavijest u cijelosti pročitajte na web stranicama Ministarstva poljoprivrede.

  • dr.sc. Branka Ivančan Picek
    pomoćnica ravnatelja, Državni hidrometeorološki zavod (DHMZ), Zagreb, Hrvatska
    Branka Ivančan-Picek

    Branka Ivančan-Picek diplomirala je (1979.) i doktorirala (1998.) na Prirodoslovno-matematičkom fakultetu Sveučilišta u Zagrebu (naslov doktorske disertacije: “Generiranje atmosferskih vrtloga nad područjem Jadrana”). U znanstvenom je zvanju više znanstvene suradnice.

    Od 1979. godine zaposlena je u Državnom hidrometeorološkom zavodu (DHMZ), najprije u Prognostičkom sektoru (do 2001.), a od 2001. radi u Službi za meteorološka istraživanja i razvoj kao pomoćnica ravnatelja gdje vodi i koordinira istraživačke i operativne poslove. Članica je Hrvatskog meteorološkog društva i članica uređivačkog odbora Hrvatskog meteorološkog časopisa. Od 2002. godine akreditirana je članica hrvatske delegacije u Komisiji za znanost Svjetske meteorološke organizacije.

    Područje istraživačkog i operativnog rada je mesoskalna dinamika i modeliranje: utjecaj orografije na atmosferu, olujni lokalni vjetrovi, zavjetrinska ciklogeneza, olujne vremenske pojave, vremenska prognoza. Rezultati njezinog istraživanja nalaze primjenu u dijagnosticiranju i prognoziranju vremenskih pojava, osobito ekstremnih pojava što je iznimno važno za njihovu ranu i pravodobnu najavu u okviru sustava upozorenja.

    Mentor je diplomskih i doktorskih radnji, a sudjeluje i u nizu povjerenstava za ocjenu diplomskih, magistarskih i doktorskih radnji na Geofizičkom odsjeku Prirodoslovno-matematičkog fakulteta i Agronomskom fakultetu Sveučilišta u Zagrebu.

    Sudjelovala je na više znanstvenih projekata Ministarstva znanosti obrazovanja i sporta Republike Hrvatske, a bila je voditeljica projekta «Oluje i prirodne katastrofe u Hrvatskoj» – i to u razdoblju od 2002. do 2013. Također, sudjelovala je i na međunarodnom projektima (NSF – Nature and theory of severe bora storm; MAP – Mesoscale Alpine Project; WMO-MEDEX – Cyclone that produce high impact weather in the Mediterranean; HyMeX – Hydrological cycle in Mediterranean Experiment; koordinatorica je aktivnosti DHMZ-a na HORIZON2020 projektu EU-CIRCLE – Europski okvir za jačanje otpornosti kritične infrastrukture na klimatske promjene).

  • Žana Počuča, dipl. ing. biotehnologije
    Viša stručna savjetnica, Uprava za klimatske aktivnosti, održivi razvoj i zaštitu zraka, tla i mora
    Ministarstvo zaštite okoliša i prirode, Zagreb, Hrvatska
    Žana Počuča

    Završila je studij biotehnologije, smjer biokemijsko inženjerstvo na Prehrambeno-biotehnološkom fakultetu u Zagrebu.
    U Ministarstvu zaštite okoliša započela je raditi 2006. godine, u Odjelu za međunarodnu suradnju. U Službi za održivi razvoj radi od 2014. godine, kada se počinje baviti temom prilagodbe klimatskim promjenama. Trenutno je uključena u projekt izrade nacionalne strategije prilagodbe klimatskim promjenama.

  • dr.sc. Reuben Angelo Sessa
    koordinator za Europu i Centralnu Aziju za područje klimatskih promjena i energije, FAO Regionalni ured za Europu i Centralnu Aziju.
    Reuben Angelo Sessa

    Diplomirao je biologiju na Sveučilištu Southampton, te je doktorirao na području genetike biljaka, biokemije i patologije biljaka na Imperial College, Sveučilišta u Londonu. Svoju profesionalnu karijeru započeo je 1999. kao volonter u Organizaciji za hranu i poljoprivredu (FAO HQ). 2000. godine postao je savjetnik u tajništvu Globalnog zemaljskog sustava promatranja (Global Terrestrial Observing System-GTOS) , gdje je radio na razvoju međunarodnog daljinskog istraživanja i in situ standarda za mjerenje zemaljskih klimatskih varijabli. Reuben je radio u oba ureda ravnatelja NRC i ADG za prirodne resurse gdje je pružao podršku radu FAO-a vezanom za klimatske promjene i okoliš, uključujući i FAO-v angažman prema UNFCCC, Rio + 20 te drugim međunarodnim povezanim platformama. 2010. godine koordinirao je razvoj originalnog klimatskog poljoprivrednog koncepta te je vodio proces i bio je urednik FAO CSA knjige izvora.

    U svibnju 2015. godine, u okviru kooperativnog plana mobilnosti, Ruben je imenovan koordinatorom za klimatske promjene, DRR i energiju za Europu i središnju Aziju u uredu u Budimpešti. Kao koordinator, radi na zadacima koji uključuju razvoj novih programa u različitim podregijama, pružanje tehničkih i strateških smjernica, kao i koordinaciju rada REU-a te aktivnosti izgradnje kapaciteta Green Climate Fund (GCF), Sendai okvira za smanjenje rizika od katastrofa i UNFCCC pariškog sporazuma. Reuben je također i kontakt točka u REU za SP5.

!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*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}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.5.2";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=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).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,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}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"

Content blocked

Please turn off your ad blocker.";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,status:e}}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,o;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,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,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===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,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,tablet:t.tablet,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,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};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","https://syndicatedsearch.goog","https://googleadservices.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();let s=Disabled.build(this.findDomainResponse,this.adblock.state);if(s)return void(yield this.transitionToDisabled(s));const a=this.adblock.hasAdblocker();a&&this.adblock.handleAdblocked();const o=Sales.build(this.findDomainResponse);if(o)return void(yield this.transitionToSales(o));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const r=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(r)yield this.transitionToRedirect(r);else{if(a)return s=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(s));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 this.adblock.state!==Blocking.BLOCKED&&(!!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}));