Τα ελληνικά λάδια, όντως, τα καλύτερα παγκοσμίως

ΓενικάΟι πολυφαινόλες που περιέχει το λάδι της ελιάς όπως φαίνεται δεν ωφελούν μόνο την υγεία μας αλλά και το ίδιο το ελαιόλαδο, το οποίο τα τελευταία χρόνια κατακτά τις αγορές του πλανήτη ως ωφέλιμο τρόφιμο. Αυτές οι πολύτιμες ουσίες αναδεικνύονται επίσης σε ένα «δυνατό χαρτί» ικανό να δώσει νέα ώθηση στην παραγωγή ελαιολάδου στη χώρα μας. Τα ελληνικά ελαιόλαδα είναι όπως αποδεικνύεται ιδιαίτερα πλούσια σε φαινολικά συστατικά έναντι των ανταγωνιστών τους και χάρη σε αυτό το πλεονέκτημα μπορούν πλέον να αποκτήσουν ισχυρότερη παρουσία διεθνώς. Κάποια πρώτα βήματα προς αυτή την κατεύθυνση έχουν μάλιστα ήδη αρχίσει να γίνονται.

ΠΡΩΤΑ ΣΤΗΝ ΕΥΡΩΠΗ

Στο διεθνές συνέδριο για τα βιοδραστικά συστατικά του ελαιολάδου που διοργανώθηκε στην Ορλεάνη της Γαλλίας από τον καθηγητή Λέανδρο Σκαλτσούνη, διευθυντή του Τομέα Φαρμακογνωσίας και Χημείας Φυσικών Προϊόντων της Φαρμακευτικής Σχολής του Εθνικού Καποδιστριακού Πανεπιστημίου Αθηνών (ΕΚΠΑ), σε συνεργασία με το εκεί πανεπιστήμιο, μία από τις παρουσιάσεις αφορούσε αυτήν ακριβώς την ελληνική υπεροχή. Εγινε από τον καθηγητή Γκίντερ Μπον, επικεφαλής του Ινστιτούτου Αναλυτικής Χημείας και Ραδιοχημείας του Πανεπιστημίου Ίνσμπρουκ της Αυστρίας, ο οποίος στο πλαίσιο μιας μελέτης του διερεύνησε την περιεκτικότητα των ελαιολάδων του σουπερμάρκετ σε φαινολικά συστατικά. Ο καθηγητής πήρε δείγματα από ιταλικά, ισπανικά και ελληνικά ελαιόλαδα που κυκλοφορούν στην αυστριακή αγορά και τα ανέλυσε με την προτεινόμενη από το Διεθνές Συμβούλιο Ελαιολάδου (IOC) μέθοδο της υγρής χρωματογραφίας HPLC. Οι αναλύσεις του έδειξαν ότι τα ελαιόλαδα της Ελλάδας είχαν μεγαλύτερη περιεκτικότητα σε φαινολικά συστατικά από εκείνα της Ιταλίας και της Ισπανίας- ήταν δηλαδή τα πλουσιότερα σε πολυφαινόλες στην Ευρώπη.

Ο «πολυφαινολικός πλούτος» των ελληνικών λαδιών διαπιστώνεται όμως συνεχώς και στην Ελλάδα, από τις αναλύσεις που κάνουν ο κ. Σκαλτσούνης και οι συνεργάτες του στο πλαίσιο της πολυετούς έρευνάς τους. «Στο εργαστήριό μας έχει ξεκινήσει τα τελευταία τρία χρόνια και συνεχίζει να πραγματοποιείται μια εις βάθος έρευνα στα φαινολικά συστατικά του ελαιολάδου» λέει ο Παναγιώτης Σταθόπουλος, ο οποίος ανήκει στο διδακτικό και ερευνητικό προσωπικό της Φαρμακευτικής Σχολής του ΕΚΠΑ. «Βασικός στόχος της έρευνας αυτής είναι η ανάδειξη των παραγόντων που επιδρούν θετικά στα φαινολικά συστατικά και η ανάπτυξη των κατάλληλων αναλυτικών μεθοδολογιών που θα επιτρέπουν την ανίχνευση και τον ποσοτικό προσδιορισμό τους». Στο πλαίσιο μιας εκτεταμένης χαρτογράφησης του ελληνικού ελαιολάδου οι επιστήμονες αναλύουν δείγματα (μέχρι στιγμής περισσότερα από 1.000) που τους αποστέλλουν παραγωγοί από διάφορες περιοχές της χώρας χρησιμοποιώντας την προτεινόμενη από το IOC τεχνική της υγρής χρωματογραφίας HPLC με ανιχνευτή υπεριώδους. Παράλληλα ελέγχουν όλες τις παραμέτρους που θα μπορούσαν να παίζουν ρόλο στη σύσταση του λαδιού: την περιοχή προέλευσης, την ποικιλία του ελαιόδεντρου, τις εδαφολογικές και κλιματικές συνθήκες της ελαιοπαραγωγικής περιοχής, τον τρόπο καλλιέργειας (αν είναι συμβατική, βιολογική ή ολοκληρωμένης διαχείρισης), το είδος του ελαιοτριβείου (διφασικό ή τριφασικό) και τις συνθήκες κατά τη διαδικασία της ελαιοποίησης (χρόνος μάλαξης, θερμοκρασία στον μαλακτήρα κ.λπ.).

ΤΟ «TOP 10» ΤΗΣ ΧΡΟΝΙΑΣ

Τα έως τώρα αποτελέσματα δείχνουν ότι σε μεγάλο ποσοστό τα ελληνικά ελαιόλαδα είναι ιδιαίτερα πλούσια σε πολυφαινόλες. Αρκετά από αυτά καλύπτουν και με το παραπάνω τις «απαιτήσεις» του ισχυρισμού υγείας που έχει εγκρίνει η Ευρωπαϊκή Αρχή για την Ασφάλεια των Τροφίμων (EFSA), αφού βρίσκονται δύο και τρεις φορές πάνω από το όριο των 5 mg υδροξυτυροσόλης και παραγώγων της ανά 20 γραμμάρια ελαιολάδου (αναλυτικά για τον κανονισμό υγείας και τις βιοδραστικές ιδιότητες των φαινολών δείτε στις επόμενες σελίδες). 

Στο συνέδριο της Ορλεάνης όπου παρουσίασαν τα ευρήματά τους, οι ερευνητές παρουσίασαν επίσης και το «Top 10» των πλουσιότερων σε φαινολικά συστατικά ελαιολάδων για την ελαιοκομική περίοδο 2015-2016 (όπως είπαν, το κάνουν κάθε χρόνο). Τα «καλύτερα» από αυτή την άποψη ελαιόλαδα της εφετινής χρονιάς (μην τα αναζητήσετε στο σουπερμάρκετ, δεν θα τα βρείτε) έχουν παραχθεί τόσο από βιολογικές όσο και από συμβατικές ή ολοκληρωμένης διαχείρισης καλλιέργειες, καθώς και από διαφορετικές ποικιλίες ελιάς. Οι περιοχές που ξεχώρισαν ήταν η Κρήτη (Λασίθι, Ι. Χρονάκης – Ηράκλειο, Ι. Σφακιανάκης – Ρέθυμνο, Γ. Ξερουδάκης), η Λακωνία (Π. Κουσούλης και Π. Ρενιέρης), το Αγιον Ορος (Γ. Χατζόπουλος), η Αρκαδία (Κ. Μαθιόπουλος), η Μεσσηνία (Ευ. Μπουρλούκας), η Κέρκυρα (Ν. Πολυχρονιάδη) και η Κεφαλλονιά – Ιθάκη (Γ. Θεοτοκάτος).

Πέραν της δυναμικής παρουσίας της Κρήτης και της Λακωνίας, δεν μπορεί εύκολα κάποιος να εντοπίσει κοινά χαρακτηριστικά σε αυτόν τον κατάλογο. Τι είναι λοιπόν αυτό που κάνει ένα λάδι να έχει περισσότερες πολυφαινόλες από κάποιο άλλο; «Σημαντικό ρόλο φαίνεται να διαδραματίζουν τόσο η χημική σύσταση του εδάφους όσο και οι κλιματικές συνθήκες που επικρατούν στις επί μέρους περιοχές του ελλαδικού χώρου. Αυτοί οι παράγοντες δρουν συνεργιστικά και πιθανότατα ευνοούν τη βιοσύνθεση των φαινολών, οι οποίες από το ελαιόδεντρο περνούν στον καρπό και τελικά στο ελαιόλαδο μέσω της ελαιοποίησης» αναφέρει ο κ. Σταθόπουλος.

ΔΙΑΦΟΡΕΣ ΑΠΟ ΠΕΡΙΟΧΗ ΣΕ ΠΕΡΙΟΧΗ

Όσον αφορά τις επί μέρους περιοχές του ελλαδικού χώρου, όπως επισημαίνει ο κ. Σταθόπουλος, οι δύο κύριες ελαιοπαραγωγικές περιοχές της χώρας μας, η Πελοπόννησος και η Κρήτη, φαίνεται να έχουν και το μεγαλύτερο ενδιαφέρον από την άποψη των φαινολικών συστατικών, χωρίς αυτό να σημαίνει ότι ελαιόλαδα από άλλες περιοχές δεν μπορούν να εμφανίσουν την ίδια δυναμική. «Το ενδιαφέρον μας επικεντρώθηκε στις περιοχές αυτές λόγω του μεγάλου αριθμού δειγμάτων που αναλύθηκαν στο εργαστήριό μας και τα οποία μάς επιτρέπουν να εξαγάγουμε στατιστικά ασφαλή συμπεράσματα για τη φαινολική σύσταση των ελαιολάδων των περιοχών αυτών» διευκρινίζει. «Έτσι λοιπόν, τα ελαιόλαδα της Κρήτης σε γενικές γραμμές φαίνεται να είναι πλούσια σε ελαιασίνη και ελαιοκανθάλη, ενώ τα ελαιόλαδα της Πελοποννήσου φαίνεται ότι είναι πλούσια σε υδροξυτυροσόλη και τυροσόλη».

Όπως προσθέτει ο ερευνητής, προκειμένου να ολοκληρωθεί η χαρτογράφηση του ελληνικού ελαιολάδου και να διερευνηθεί καλύτερα η φαινολική του σύσταση ανά περιοχή, πρέπει να αναλυθεί μεγαλύτερος αριθμός δειγμάτων. Όσοι ελαιοπαραγωγοί επιθυμούν να συμμετάσχουν στην έρευνα μπορούν να επικοινωνήσουν μέσω ηλεκτρονικού ταχυδρομείου στη διεύθυνση stathopan@pharm.uoa.gr ώστε να τους δοθούν κατάλληλες πληροφορίες για την αποστολή των δειγμάτων τους.

ΣΗΜΑΝΤΙΚΟ ΤΟ ΕΙΔΟΣ ΤΟΥ ΕΛΑΙΟΤΡΙΒΕΙΟΥ

Από εκεί και πέρα οι άλλες παράμετροι βρίσκονται ακόμη υπό διερεύνηση. Κάποια στοιχεία έχουν αρχίσει ωστόσο να αναδεικνύονται και ένα από αυτά είναι το είδος του ελαιοτριβείου. «Φαίνεται ότι το διφασικό ελαιοτριβείο, δηλαδή η απουσία νερού, οδηγεί σε ελαιόλαδα πλούσια σε πολυφαινόλες και γι’ αυτόν τον λόγο τώρα γίνεται μια προσπάθεια να αντικατασταθούν όλα τα παλιά τριφασικά ελαιοτριβεία με διφασικά» αναφέρει ο ερευνητής. «Στα τριφασικά ελαιοτριβεία προσθέτουν νερό, με αποτέλεσμα όλες οι φαινόλες να ξεπλένονται και να περνάνε στον κατσίγαρο. Βέβαια εμείς στο εργαστήριό μας έχουμε αναπτύξει εξειδικευμένα πρωτόκολλα σε εργαστηριακό και πιλοτικό επίπεδο με τα οποία μπορούμε από τα παραπάνω «υποπροϊόντα» των ελαιοτριβείων να αναπτύξουμε προϊόντα υψηλής προστιθέμενης αξίας τα οποία έχουν αρχίσει να χρησιμοποιούνται ευρέως στην αγορά ως πρόσθετα σε φαρμακευτικά σκευάσματα, συμπληρώματα διατροφής καθώς επίσης σε καλλυντικά προϊόντα».

Ένας άλλος παράγοντας που ενδεχομένως ευνοεί τη βιοσύνθεση των πολυφαινολών, σύμφωνα με τις παρατηρήσεις των ερευνητών, φαίνεται να είναι το υψόμετρο, κάτι το οποίο οι επιστήμονες σκοπεύουν να εξετάσουν στην επόμενη μελέτη τους. «Αυτή η μελέτη θα ξεκινήσει εφέτος με συλλογή δειγμάτων από διάφορα πεδινά, ημιορεινά και ορεινά μέρη της Ελλάδας, για να μελετήσουμε πώς επηρεάζεται η φαινολική σύστασή τους σε σχέση με το υψόμετρο» επισημαίνει ο κ. Σταθόπουλος. «Επιπλέον συλλέγοντας στοχευμένα δείγματα από παραθαλάσσιες και απομακρυσμένες από τη θάλασσα περιοχές θα διερευνήσουμε το πώς επηρεάζουν οι τοπογραφικές διαφοροποιήσεις τα επίπεδα των πολυφαινολών στο ελαιόλαδο».

ΕΦΟΔΟΣ ΣΤΙΣ ΔΙΕΘΝΕΙΣ ΑΓΟΡΕΣ

Η υψηλή περιεκτικότητα των ελληνικών ελαιολάδων σε φαινολικά συστατικά που έχει αναδειχθεί από τις μελέτες του καθηγητή Γκίντερ Μπον στο Πανεπιστήμιο του Ίνσμπρουκ και του καθηγητή Λέανδρου Σκαλτσούνη στη Φαρμακευτική Σχολή του ΕΚΠΑ φαίνεται να δίνει στα ελληνικά ελαιόλαδα νέα θέση στις διεθνείς αγορές, και μάλιστα με τρόπους που ενδεχομένως κανείς δεν είχε φανταστεί ως πρόσφατα. Η αυστριακή εταιρεία Bonsalpo, για παράδειγμα, αποφάσισε να βάλει από το 2016 και στο εξής ελληνικό λάδι (από την Κρήτη) σε μπουκάλια διακοσμημένα με κρύσταλλα του διάσημου οίκου Swarovski, τα οποία διαθέτει ως προϊόν πολυτελείας στην ευρωπαϊκή και όχι μόνο αγορά.

Μια ελληνική βιομηχανία είχε ωστόσο μια ακόμη πιο πρωτοποριακή ιδέα. Το λάδι που είναι πλούσιο σε πολυφαινόλες είναι επίσης πικρό και όχι και τόσο φιλικό προς τον ουρανίσκο, ιδιαίτερα των κατοίκων των χωρών που δεν είναι εξοικειωμένοι με αυτό. Έτσι, σε μια παγκόσμια πρωτοτυπία, η InterMed σε συνεργασία με τη UNI-PHARMA -όμιλος Φαρμακευτικών Εταιρειών Τσέτη- σκέφθηκε να το κλείσει, μαζί με τα ευεργετικά φαινολικά συστατικά του, σε μια κάψουλα, η οποία ετοιμάζεται να κατακτήσει όχι μόνο την ελληνική και την ευρωπαϊκή αλλά και άλλες αγορές του πλανήτη. «Το ελαιόλαδο μπορεί να αποτελέσει τη μεσογειακή απάντηση στα ω3» λέει στο «Βήμα» η Ιουλία Τσέτη, φαρμακοποιός και πρόεδρος του ομίλου, ο οποίος μετέχει επίσης στο ευρωπαϊκό πρόγραμμα για τη μελέτη της φαρμακολογίας των πολυφαινολών του ελαιολάδου που έχει αναλάβει η ομάδα του κ. Σκαλτσούνη σε συνεργασία με πανεπιστήμια και ερευνητικά κέντρα από την Ελλάδα, την Ισπανία, την Αυστρία, την Ιταλία, τη Γερμανία και τη Γαλλία.

Το σκεύασμα, με την ονομασία Olivomed, βρίσκεται στο τελικό στάδιο της ανάπτυξής του και θα κυκλοφορήσει μέσα στους επόμενους μήνες ως συμπλήρωμα διατροφής. «Θα είναι μια μαλακή κάψουλα η οποία θα περιέχει ελαιόλαδο και εκχύλισμα ελαιολάδου πλούσιο σε υδροξυτυροσόλη» διευκρινίζει ο Γρηγόρης Μούντριχας από το τμήμα έρευνας και ανάπτυξης της InterMed. «Σε δύο κάψουλες θα περιέχεται πολύ περισσότερη υδροξυτυροσόλη από όση μπορεί να πάρει κάποιος από 20 γραμμάρια ενός καλού ελαιολάδου. Και θα γλιτώνει την πικρή γεύση».

(neoskosmos.com)

!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.8.5";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="",AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE="25",AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE="5",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1,n="")=>{const i=n||window.location.search,s=`${e}/${FIND_DOMAIN_URL}${i}`,a=e?"include":"same-origin",o=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(s,{method:"POST",headers:o,credentials:a}).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: 75vh;\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.hide-sales-banner > #sales-banner {\n display: none;\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_TARGET="main",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.hideSalesBanner=()=>{this.domNode.classList.add("hide-sales-banner")},this.revealSalesBanner=()=>{this.domNode.classList.remove("hide-sales-banner")},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.injectMessage(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}injectMessage(e){const t=document.querySelector(MESSAGE_TARGET);t?t.innerHTML=e:this.domNode&&(this.domNode.innerHTML=e)}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),e.bannerAdblockerOnly&&this.hideSalesBanner(),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),e.bannerAdblockerOnly||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":case"disabled_tos":{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"disabled_tos":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";case"disabled_tos":return"tos_not_accepted"}}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");n.bannerAdblockerOnly=null==i?void 0:i.banner_adblocker_only;const 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)&&!(null==i?void 0:i.banner_adblocker_only)&&(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}}},CAFKey="caf",ClickKey="click",NoCacheKey="nc",SessionKey="session",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,user_id:t.userId,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={[ClickKey]:"true",[SessionKey]:t.uuid,[NoCacheKey]: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{get providerCtor(){return this.constructor}constructor(e){this.state=new Map,this.injectedAt=new Map,this.timeoutAt=new Map,this.timeoutSeconds=5,this.handlePixelEvent=e=>{this.keys.forEach((t=>{switch(this.state.get(t)){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e,t)}}))},this.watch=e=>{switch(this.state.get(e)){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded(e)?this.state.set(e,State$1.Loaded):this.isTimedOut(e)?this.state.set(e,State$1.Failed):setTimeout((()=>this.watch(e)),50)}},this.config=e,this.keys.length>0?this.keys.forEach((e=>{this.state.set(e,State$1.Pending);const t=new Date;t.setSeconds(t.getSeconds()+this.timeoutAfter()),this.timeoutAt.set(e,t),this.injectPixel(e)})):this.state.set("",State$1.Failed)}get keys(){return this.config?Object.keys(this.config):[]}getPixelEvents(e){var t,n;return null===(n=null===(t=this.config)||void 0===t?void 0:t[e])||void 0===n?void 0:n.pixel_events}injectPixel(e){this.injectedAt.has(e)||(this.injectedAt.set(e,new Date),this.inject(e),this.watch(e))}inject(e){if(!this.providerCtor.scriptInjected){const e=document.createElement("script");e.text=this.getScript(),document.head.appendChild(e),this.providerCtor.scriptInjected=!0}this.init(e)}isTimedOut(e){return+new Date>=+(this.timeoutAt.get(e)||0)}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e,t){const n=this.getPixelEvents(t);if(Array.isArray(n))return n.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{getScript(){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');"}init(e){window.fbq&&window.fbq("init",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&(e.custom?window.fbq("trackSingleCustom",t,e.event):window.fbq("trackSingle",t,e.event))}))}isLoaded(e){return!!window.fbq&&window.fbq.getState&&window.fbq.getState(e)}}Facebook.scriptInjected=!1;class Outbrain extends Provider{getScript(){return`!function(_window, _document) { var OB_ADV_ID = ${JSON.stringify(this.keys)}; 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);`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(e){return!!window.obApi}}Outbrain.scriptInjected=!1;class Revcontent extends Provider{getScript(){return"var script=document.createElement('script');script.src='https://assets.revcontent.com/master/rev.js';document.head.appendChild(script);"}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(e){return!!window.rev}}Revcontent.scriptInjected=!1;class Taboola extends Provider{getScript(){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/${this.keys[0]}/tfa.js','tb_tfa_script');`}init(e){}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{if(e){const n=parseInt(t,10);window._tfa.push({notify:"event",name:e.event,id:n})}}))}isLoaded(e){return Array.isArray(window._tfa)}}Taboola.scriptInjected=!1;class Tiktok extends Provider{getScript(){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(t).track(e.event)}))}isLoaded(){return!!window.ttq}}Tiktok.scriptInjected=!1;class GoogleAds extends Provider{getScript(){return`var s=document.createElement('script');s.async=1;s.src='https://www.googletagmanager.com/gtag/js?id=${this.keys[0]}';document.head.appendChild(s);window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('set','allow_ad_personalization_signals',false);gtag('js',new Date);`}init(e){window.gtag&&window.gtag("config",e)}onPixelEvent(e,t){const n=this.selectPixelEvents(e,t);n&&n.forEach((e=>{e&&window.gtag("event","conversion",{send_to:`${t}/${e.event}`})}))}isLoaded(e){return!!window.gtag}}GoogleAds.scriptInjected=!1;const ADS_PARAM$1=CAFKey,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=[],e.facebook&&Object.keys(e.facebook).forEach((t=>{this.providers.push(new Facebook({[t]:e.facebook[t]}))})),e.tiktok&&Object.keys(e.tiktok).forEach((t=>{this.providers.push(new Tiktok({[t]:e.tiktok[t]}))})),e.taboola&&Object.keys(e.taboola).forEach((t=>{this.providers.push(new Taboola({[t]:e.taboola[t]}))})),e.revcontent&&Object.keys(e.revcontent).forEach((t=>{this.providers.push(new Revcontent({[t]:e.revcontent[t]}))})),e.outbrain&&this.providers.push(new Outbrain(e.outbrain)),e.googleads&&Object.keys(e.googleads).forEach((t=>{this.providers.push(new GoogleAds({[t]:e.googleads[t]}))}))}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&"string"==typeof n&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&new URLSearchParams(window.location.search).has(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}listenForPixelEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}))}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=CAFKey,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 Cheq{constructor(e){let t;if(t="string"==typeof e?parseInt(e,10):e,t<0||t>100)throw new Error("Load percentage must be between 0 and 100");this.loadPercentage=t}inject(e,t){return __awaiter(this,void 0,void 0,(function*(){if(this.injected)return;100*Math.random()<=this.loadPercentage&&(this.injected=this.injectScriptTag(e,t))}))}injectScriptTag(e,t){const n=document.createElement("script");return n.type="text/javascript",n.async=!0,n.setAttribute("src","https://ob.forseasky.com/i/148870ae21863d775c347e8893c985af.js"),n.setAttribute("data-ch","cheq4ppc"),n.setAttribute("data-uvid",e),n.setAttribute("data-utm-campaign",t.toString()),n.className="ct_clicktrue_73521",document.head.appendChild(n),!0}}class App{main(){var e,t,n;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 i=Parking.build(this.findDomainResponse,this.google);Render.prerender(i);const s=(null===(n=this.findDomainResponse)||void 0===n?void 0:n.referral)?AFD_REFERRAL_CHEQ_LOAD_PERCENTAGE:AFD_ORGANIC_CHEQ_LOAD_PERCENTAGE;this.cheq=new Cheq(s),this.cheq.inject(this.parkResponse.uuid,this.findDomainResponse.userId),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let a=Failed.cannotPark(this.findDomainResponse);if(a)return void(yield this.transitionToFailed(a,i));yield this.google.injectAds();let o=Disabled.build(this.findDomainResponse,this.adblock.state);if(o)return void(yield this.transitionToDisabled(o,i));const r=this.adblock.hasAdblocker();r&&this.adblock.handleAdblocked();const d=Sales.build(this.findDomainResponse);if(d)return void(yield this.transitionToSales(d));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const c=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);if(c)yield this.transitionToRedirect(c);else{if(r)return o=Disabled.build(this.findDomainResponse,this.adblock.state),void(yield this.transitionToDisabled(o,i));a=Failed.noSponsors(this.google),a?yield this.transitionToFailed(a,i):yield this.transitionToParking(i)}}))}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,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),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,t){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.injectJS(t.javascript),"adblocker"===e.reason&&t.bannerAdblockerOnly&&Render.revealSalesBanner(),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}));