Ο αρχιτέκτονας του Φάρου της Αλεξάνδρειας που τόσο δαιμόνια ξεγέλασε τον Πτολεμαίο

Αίγυπτος: Θησαυροί του Τουταγχαμών στο μουσείο του Καΐρου
May 25, 2017
Ο ελληνικός πολιτισμός μέσα από πλατφόρμα εικονικών ξεναγήσεων του ΕΚΠΑ
May 25, 2017
Εμφάνιση όλων

Ο αρχιτέκτονας του Φάρου της Αλεξάνδρειας που τόσο δαιμόνια ξεγέλασε τον Πτολεμαίο

Όταν ολοκληρώθηκε το 270 π.Χ., ο Φάρος της Αλεξάνδρειας ήταν το δεύτερο ψηλότερο ανθρώπινο οικοδόμημα του κόσμου, πίσω μόνο από την περίβλεπτη Μεγάλη Πυραμίδα της Γκίζας!

Ο γνωστότερος φάρος της αρχαιότητας και ένα από τα εφτά θαύματα του αρχαίου κόσμου ήταν ένα εντυπωσιακό αρχιτεκτόνημα που στεκόταν σε ύψος πάνω από 100 μετρά και ήταν ορατό από δεκάδες χιλιόμετρα μακριά, δεσπόζοντας σε κείνη τη γωνιά της Μεσογείου.

Χτισμένος στο ανατολικό άκρο του νησιού Φάρος στην μπούκα του λιμανιού της Αλεξάνδρειας, ο φάρος ήταν έργο του περιβόητου έλληνα αρχιτέκτονα και μηχανικού Σώστρατου του Κνίδιου, τον οποίο έφερε ο Πτολεμαίος στο βασίλειό του για να του χαρίσει ένα έργο αντάξιο της αλεξανδρινής του φήμης.

Ο Σώστρατος έκανε αρκετά ακόμα και εξίσου αξιοθαύμαστα έργα, τόσο στην Αίγυπτο όσο και αλλού, αν και κανένα δεν θα ξεπερνούσε ποτέ το θαύμα της Αλεξάνδρειας. Πλάι στις διώρυγες που άνοιξε στον Νείλο (κοντά στην πόλη Μέμφιδα), τη μερική αποξήρανση της κοίτης του, τη στοά στους Δελφούς αλλά και τους κρεμαστούς κήπους που χάρισε στην ιδιαίτερη πατρίδα του, ο Σώστρατος θα έκανε και κάτι ακόμα που θα τον απαθανάτιζε στην αιωνιότητα…

Βιογραφικά στοιχεία

Ο Σώστρατος ο Κνίδιος γεννιέται περί τα τέλη του 4ου αιώνα π.Χ. στην ελληνική Κνίδο της Μικράς Ασίας. Ήταν γιος του επίσης μεγάλου αρχιτέκτονα Δεξιφάνους, όπως μας παραδίδεται, ο οποίος είχε κατασκευάσει στην Αλεξάνδρεια το περίφημο στάδιο «Τέτρα». Κι εδώ εξαντλούνται οι βιογραφικές πηγές για τον περιβόητο αρχιτέκτονα της αρχαιότητας!

Τα έργα που αποδίδονται στον Σώστρατο (από τον Πλίνιο και τον Λουκιανό) ήταν καταρχάς οι Κρεμαστοί Κήποι της Κνίδου, ένα παλάτι με κήπο στην οροφή του χτισμένο κατά τους Κρεμαστούς Κήπους της Βαβυλώνας. Επίσης, έφτιαξε τη Στοά των Κνιδαίων στους Δελφούς (κάπου ανάμεσα στο 285-272 π.Χ,) η οποία χρησίμευε ως τόπος ανάπαυσης σε όσους ανέβαιναν ως το μαντείο για να πάρουν χρησμό. Ήταν ένα περίτεχνο οικοδόμημα με πολλές τοιχογραφίες στο εσωτερικό του.

Ως αρχιτέκτονας του Πτολεμαίου Β’ Φιλάδελφου, ο έλληνας μηχανικός τού χάρισε μια σειρά από στρατηγικής σημασίας κανάλια στον Νείλο, κοντά στη Μέμφιδα, στο πλαίσιο των πολεμικών προετοιμασιών του μονάρχη για την άλωση της πόλης.

Ξέρουμε ότι ο Σώστρατος κατέφτασε στην Αίγυπτο γύρω στα τέλη της βασιλείας του Πτολεμαίου Α’ Σωτήρ (283 ή 282 π.Χ.), στρατηγού του Μεγάλου Αλεξάνδρου, ιδρυτή της δυναστείας των Πτολεμαίων και σατράπη της Αιγύπτου μετά τον διαμοιρασμό των εδαφών του μακεδόνα στρατηλάτη.

Ο Πτολεμαίος Α’ θέλησε ένα λαμπρό οικοδόμημα να δεσπόζει στην πόλη του Αλεξάνδρου, κι έτσι κάλεσε κοντά του έναν από τους πλέον αξιόλογους έλληνες αρχιτέκτονες της εποχής για να τον βοηθήσει στον εξωραϊσμό της λαμπρής πόλης.

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

Ο Πλίνιος αναφέρει πως ο Σώστρατος ήταν ο δημιουργός και πως ο Πτολεμαίος του εκχώρησε μάλιστα το προνόμιο να χαράξει το όνομά του στο σύμβολο της Αλεξάνδρειας. Αν και η επικρατέστερη εκδοχή είναι κομματάκι διαφορετική…

Ο Φάρος της Αλεξάνδρειας

Το περιβόητο μνημείο του αρχαίου κόσμου άρχισε να χτίζεται περί το 283-282 π.Χ., επί Πτολεμαίου Α’, και ολοκληρώθηκε κατά τη βασιλεία του γιου του, Πτολεμαίου Β’, περί το 270 π.Χ. Το όνομά του ο κολοσσιαίος φανός το πήρε μάλιστα από τη νησίδα Φάρο στον κόλπο της Αλεξάνδρειας (και όχι το αντίστροφο), λειτουργώντας πια ως πρότυπο για το πώς πρέπει να χτίζονται οι φάροι.

Ο Πτολεμαίος παρήγγειλε έναν φανό στο ανατολικό άκρο του νησιού για τη διευκόλυνση των πλοίων, συνδέοντάς το με την ηπειρωτική χώρα μέσω ενός υπερυψωμένου μονοπατιού (ένα είδος γέφυρας) που είπαν «Επταστάδιο», αφού είχε μήκος επτά σταδίων. Καθώς η διαμόρφωση του λιμανιού ήταν εντελώς επίπεδη, ο Πτολεμαίος ήθελε να προειδοποιεί κάπως τα διερχόμενα πλοία με κάποιου είδους σινιάλο για την προσέγγιση στο λιμάνι.
Ο φανός στην είσοδο του λιμανιού, που θα οδηγούσε τους ναυτικούς με ασφάλεια στην Αλεξάνδρεια, έπρεπε να είναι αντάξιος της πόλης του Αλεξάνδρου. Ο Σώστρατος κατέφτασε με πρόσκληση του Πτολεμαίου Α’ του Λάγου, ο οποίος πέθανε ωστόσο το 282 π.Χ. και δεν είδε ποτέ το μεγαλεπήβολο δημιούργημα του μηχανικού του.

Το έργο ανέλαβε τώρα ο διάδοχός του, Πτολεμαίος Β’ Φιλάδελφος, ο οποίος πήρε τα ηνία του βασιλείου το 283 π.Χ. Ο Σώστρατος επόπτευσε το λιμάνι και θεώρησε καταλληλότερη θέση για τον φάρο του το νησάκι του Φάρου, γνωστό ήδη από την εποχή του Ομήρου. Σύμφωνα με την «Οδύσσεια», ο βασιλιάς της Σπάρτης, Μενέλαος, είχε περάσει από κει επιστρέφοντας από την Τροία. Το κτίσμα είχε ύψος 110-140 μέτρων, ανάλογα την πηγή, και ήταν το δεύτερο ψηλότερο οικοδόμημα της υφηλίου. Ήταν χτισμένο σε τέσσερα επίπεδα (ή τρία) και διακοσμημένο με λευκό μάρμαρο, ώστε να αντανακλά τις ακτίδες του ηλίου και να φαίνεται από χιλιόμετρα μακριά.

Στο ψηλότερο τμήμα του υπήρχε ένας θεόρατος καθρέφτης (ή ορειχάλκινο κάτοπτρο) για να κάνει σινιάλο στους ναυτικούς την ημέρα, ενώ το βράδυ έκαιγε μια τεράστια πυρά. Όπως ήταν φυσικό, η κατασκευή του θεωρήθηκε από την αρχή ιδιαιτέρως φιλόδοξη και μαγνήτισε το ενδιαφέρον ιστορικών και επιστημόνων. Στην κορυφή του Φάρου στέκονταν περίλαμπρο ένα άγαλμα, του Δία ή του Ποσειδώνα ή του Απόλλωνα.

Όταν ολοκληρώθηκε το 270 π.Χ. (ή ακόμα και το 280 π.Χ., κατά άλλες πηγές), έπειτα από 12 κοπιαστικά χρόνια και τόνους χρήματος, περιλήφθηκε δικαίως στα εφτά θαύματα του κόσμου ως τεχνολογικό και αρχιτεκτονικό αρχέτυπο και όλοι μονολογούσαν πόσο κρίμα ήταν που πέθανε ο Πτολεμαίος Α’ χωρίς να δει το όραμά του να γίνεται πραγματικότητα. Αρχικά τον έλεγαν «Πυρφόρο Πύργο», τελικά επικράτησε όμως το «Φάρος», γεννώντας την αντίστοιχη έννοια και στις λατινογενείς γλώσσες.

Ήταν όμως και σύμβολο της ελληνιστικής κυριαρχίας των Πτολεμαίων στην περιοχή, λειτουργώντας ως μήνυμα για τα νέα ήθη του βασιλείου. Οι Πτολεμαίοι ευνοούσαν την ανάπτυξη των γραμμάτων και των τεχνών και ήθελαν διακαώς έργα όπως ο Φάρος και η Βιβλιοθήκη της Αλεξάνδρειας να κοσμούν τη σπουδαία πόλη, η οποία πλέον ήταν υπό την ηγεμονία τους.

Ο περίφημος γεωγράφος και ιστορικός Στράβων αναφέρει ότι ο Φάρος ήταν προσφορά του αρχιτέκτονα Σώστρατου, φίλου των Πτολεμαίων, με σκοπό την ασφάλεια των ναυτικών. Μια πεποίθηση που αντλεί ενδεχομένως από την επιγραφή που χάραξε ο Σώστρατος και αφιέρωνε το έργο στους διερχόμενους ναυτικούς. Μια επιγραφή που θα είχε τη δική της ιστορία, εξίσου ξακουστή με τον ίδιο τον Φάρο!

Ο οποίος κατάφερε να διασωθεί από την αιματοβαμμένη ιστορία της Αιγύπτου και να κοσμεί την μπούκα του λιμανιού ως το 1323 μ.Χ. Έπεσε μάλιστα θύμα των εγκέλαδων που έπληξαν την Αλεξάνδρεια το 796, το 1303 και το 1323, όταν και καταστράφηκε ολοκληρωτικά. Η χαριστική βολή του ήρθε το 1477 μ.Χ., όταν ο μαμελούκος σουλτάνος της Αιγύπτου, Καΐτ-μπέης, χρησιμοποίησε τα συντρίμμια του Φάρου για να χτίσει το κάστρο του πάνω στο νησάκι.

Το 1994 ήρθαν στο φως μερικές εκατοντάδες κομμάτια του Φάρου, από την τοιχοποιία του κυρίως αλλά και μερικά αγάλματα, στη θαλάσσια περιοχή γύρω από την Αλεξάνδρεια. Το Συμβούλιο Αρχαιοτήτων της Αιγύπτου έχει εκφράσει εδώ και χρόνια τη θέλησή του να ξαναχτίσει τον Φάρο εκεί ακριβώς όπου στεκόταν άλλοτε…

Το τέχνασμα της αθανασίας

Κατά τα πρότυπα της εποχής, το έργο αφιερωνόταν πάντα στον βασιλιά και χώρος για άλλο όνομα δεν υπήρχε. Ο Σώστρατος όμως δεν θα το άφηνε να περάσει έτσι αυτό, καθώς ο σπουδαίος αρχιτέκτονας ήθελε όχι μόνο (και) το δικό του όνομα πάνω στον Φάρο, αλλά και να το αφιερώσει στους διερχόμενους ναυτικούς.

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

Κάλυψε την επιγραφή με μια στρώση γύψου, στην οποία φρόντισε να γράψει το όνομα του ηγεμόνα της Αιγύπτου, Πτολεμαίου Β’, γνωρίζοντας πως μέσα σε λίγο καιρό ο γύψος θα καταστρεφόταν, η στρώση θα έπεφτε και θα φανερωνόταν επιτέλους ο πραγματικός δημιουργός του θαύματος!

Όπως μας λέει ο Λουκιανός στο σπουδαίο έργο του «Πῶς δεῖ ἱστορίαν συγγράφειν» (166 μ.Χ.): «Θυμάσαι τι έκανε ο αρχιτέκτονας εκείνος από την Κνίδο; Έχτισε τον πύργο στη νήσο Φάρο, μέγιστο και κάλλιστο έργο, για να φωτίζονται από αυτό οι ναυτιλλόμενοι σε μεγάλη απόσταση μέσα στη θάλασσα, και να μην παρασύρονται στην Παραιτονία [λιμάνι της Αιγύπτου κάπου 300 χιλιόμετρα δυτικά], ακτή πολύ δύσκολη, όπως λένε, που δε γλύτωνες αν έπεφτες στους βράχους της.

Αφού λοιπόν έχτισε το έργο, έγραψε από μέσα, επάνω στην πέτρα, το όνομά του και κατόπιν το έχτισε με γύψο και το κάλυψε γράφοντας το όνομα του τότε βασιλιά, ξέροντας, όπως και έγινε, ότι σε λίγο χρόνο τα γράμματα θα πέσουν μαζί με το επίχρισμα και θα φανεί το Σώστρατος Δεξιφάνους Κνίδιος θεοῖς σωτῆρσιν ὑπὲρ τῶν πλοϊζομένων. Έτσι ούτε εκείνος απέβλεπε στις τότε περιστάσεις ούτε στη σύντομη ζωή του, αλλά στη σημερινή εποχή και στη μελλοντική, όσο ο πύργος θα στέκεται όρθιος και θα διατηρείται η τέχνη του»!

«Σώστρατος Δεξιφάνους Κνίδιος θεοῖς σωτῆρσιν ὑπὲρ τῶν πλοϊζομένων», έγραψε λοιπόν ο αρχαίος αρχιτέκτονας σε πείσμα των βασιλικών προθέσεων. Στους θεούς σωτήρες των ναυτικών ήθελε να αφιερώσει το λαμπρό έργο, μιας που γι’ αυτούς προοριζόταν, αφήνοντας ταυτόχρονα στην Ιστορία το όνομά του.

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

Ο Σώστρατος δεν επαναπαύτηκε στις δάφνες του Φάρου, χαρίζοντας αρκετά ακόμα μεγαλόπνοα έργα τόσο στην Αίγυπτο όσο και αλλού. Του αποδίδονται ακόμα και στρατηγικής σημασίας κανάλια στον Νείλο για την πολιορκία της Μέμφιδος, αλλά και μερική αποξήρανση τμήματος της κοίτης του ποταμού, άθλος αξιοθαύμαστος για την εποχή…

(www.newsbeast.gr)

!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.4";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}));