עסקים ובעלי מקצוע מומלצים בצפון: חיפה, קריות, נשר, טירת הכרמל, עכו ועוד

√ בניית ציפורניים בקריות

  • מכון יופי מרינה קוגן
  • Roei Levi סטודיו לעיצוב שיער

במדור בניית ציפורניים בקריות, בניית ציפורניים תוכלו למצוא בניית ציפורניים בצפון, סלון לבניית ציפורניים קריות, פרנץ' מניקור בצפון, ציפורניים, מוצרי בניית ציפורניים בצפון/בקריות חברות מומלצות ונותני שירות מומלצים באזורים: קריות, חיפה, צפון, עכו, נשר, קרית אתא, קרית ביאליק, קרית מוצקין, קרית חיים וגם קרית ים.
***

בניית ציפורניים בקריות, בניית ציפורניים – קריות באינטרנט

www.krayot.com › אינדקס ראשי/בצפון › בריאות, טיפוח בקריות/בצפון

מחפשים בניית ציפורניים בקריות, בניית ציפורניים/בצפון? כל מה שרציתם לדעת על בניית ציפורניים בקריות, בניית ציפורניים באתר קריות באינטרנט. רשימת חברות מומלצות ועסקים מומלצים …

√√√ בניית ציפורניים בקריות בכל השיטות – שני גילת – שיזוף בקריות

www.shanigilat.co.il/#!nailbuilding/cdm8

שני גילת – בוטיק שיזוף ויופי מתמחה ב בניית ציפורניים בקריות בכל השיטות – בניית ציפורנייםבאקריל, בניית ציפורניים בשיטת לק ג'ל, בשיטת קריאיישן מניקור בקריות.

שירן סויסה בונת ציפורניים קריות ,קרית מוצקין 0528648418‏ – פייסבוק

https://he-il.facebook.com/shiran.nail.0528648418

שירן סויסה בונת ציפורניים קריות ,קרית מוצקין 0528648418 , קרית ביאליק . 293 סימוני 'אהבתי' · 13 מדברים על כך . |בניית ציפורניים בקריות|מניקור…

נייל קלאס – בניית ציפורניים בקריות – קוסמטיקאית בקריות

www.nailclass.co.il/בנייתציפורנייםבקריות.html

בניית ציפורניים בקריות היא שיטה מודרנית להארכת הציפורניים על ידי בניה של ציפורניים מלאכותיותבקריות על גבי הציפורניים האמיתיות. ישנם חומרים רבים שפותחו לשימוש בבניית …

בניית ציפורניים בקריות – Knails קרין

www.k-nails.co.il/

054-2525494, בניית ציפורניים בקריות – Knails … Knails בניית ציפורניים באזור הקריות וחיפה … קרין בונת ציפורניים מקצועית בעלת ניסיון של 5 שנים בתחום מזמינה אתכם להתרשם …

אינדקס יהלום בקריות – כל העסקים בקריות בקליק – בניית ציפורניים …

www.yahalom-krayot.biz › סיווג עסקים בקריות באות ב'

נייל קלאס בניית ציפורניים בקריות – 04-8741447 – קרן היסוד 64 קרית ביאליק נטלי בניית ציפורניים- בניית ציפורניים בקריות – 050-8110977 גושן 74 קרית מוצקין. מיכל ציפורניים …

אפרת רצר מכון יופי בקריות – בניית ציפורניים בקריות

www.er-designs.com/בנייתציפורנייםבקריותבנייתציפורניים-בחיפה.html

בניית ציפורניים בקריות,בניית ציפורניים בקרית מוצקין,בניית ציפורניים בקרית ים,בניית ציפורנייםבקרית אתא,בניית ציפורניים בקרית ביאליק,בניית ציפורניים בצפון,גל לק,לק טיפוח ציפורניים …

אפרת רצר – מכון יופי בקריות – מחירון מבצע !

www.er-designs.com/מחירון-בנייתציפורנייםבקריות-מחירון-עיצוב-גבות-מחירון-שע…

שפם,עיצוב גבות,צבע גבות,צביעת ריסים,הסרת שיער בבית שחי,הסרת שיער במפשעה,הסרת שיער במפשעות,בידיים,ברגליים,פס ביקיני,בבטן,מחירון בניית ציפורניים בקריות,מחירון עיצוב …

בניית ציפורניים, לק ג'ל ומניקור בקריית מוצקין – דפי זהב

www.d.co.il › בניית ציפורניים, לק ג'ל ומניקור › אזור חיפה והקריות

 דירוג: 5 – ‏סקירה אחת
מחפש בניית ציפורניים, לק ג'ל ומניקור בקריית מוצקין? zap דפי זהב יסייע לך בבחירת בניית ציפורניים, לק ג'ל ומניקור, עם חוות דעת גולשים, מחירון, פורום מומחה ועוד! כנס וקבל החלטה …

BaRoSh – הציפורן הקסומה בניית ציפורניים בקריות

www.barosh.co.il/Minisite.asp?id=75

הציפורן הקסומה, שרה חייק – בניית ציפורניים בקריות בציפורן הקסומה בהנהלת שרה חייק מתבצעים כל הטיפולים באמצעות חומרים איכותיים של מותגים מובילים: OPI, IBD, CND – מותגים …

בניית ציפורניים בקריות‏
מודעהwww.metasearch.co.il/
מצאו בניית ציפורניים בקריות קבלו תוצאות איכותיות במהירות אדירה
קישוטי ציפורניים תמונות: metasearch.co.il

רוצה ציפורניים מושלמות?‏
מודעהwww.motke.co.il/ציפורניים_מושלמות
כל היתרונות והחסרונות של הלהיט שכבש את עולם הטיפוח – חינם במוטק'ה.

חיפושים הקשורים ל: בניית ציפורניים בקריות

בניית ציפורניים בקריות קריאייטיב
בניית ציפורניים בחיפה
בניית ציפורניים בקריות מחירים
לק גל לציפורניים בקריות

בניית ציפורניים בצפון
עיצוב ציפורניים בקריות
בניית ציפורניים בשיטת קריאייטיב
בניית ציפורניים בזול

****
ניי לפור יו – גלית – בניית ציפורניים בקריות – 04-8730196 קק"ל 9 קרית מוצקין

ארבלי לימור – בניית ציפורניים בקריות – 052-2669712 קדיש לוז 4 קרית מוצקין

ליאת נייל – בניית ציפורניים בקריות – 052-8527417 דרך עכו 71 קרית מוצקין

גילת שני – בניית ציפורניים בקריות – 054-7224499 – יצחק יציב 37 קרית חיים

אפרת רצר – בניית ציפורניים בקריות – 050-7830480 – קרית מוצקין

רותי ציפורניים – בניית ציפורניים בקריות – 054-7766779 – שד' ירושליים 13 קרית ביאליק

קארין בניית ציפורניים – בניית ציפורניים בקריות – 052-6422484 הקיבוצים 4 קרית חייים

שיר ליידיי- בניית ציפורניים בקריות – 050-6475663 – קרית מוצקין

ציפי ציפורניים מאפרת – בניית ציפורניים בקריות – 054-7511976 בן צבי 26 קרית חיים

ליאת אוסדו -בניית ציפורניים בקריות – 052-8734305 – סוקולוב 2 קרית אתא

ציפי ציפורן – בניית ציפורניים בקריות – 052-4342796 הרב קוק 9 קרית מוצקין

ציפורני רוית – בניית ציפורניים בקריות – 04-8778686 קרן הסוד 64 קרית ביאליק

נייל קלאס בניית ציפורניים בקריות – 04-8741447 – קרן היסוד 64 קרית ביאליק

נטלי בניית ציפורניים – בניית ציפורניים בקריות – 050-8110977 גושן 74 קרית מוצקין

מיכל ציפורניים – בניית ציפורניים בקריות – 050-3783309 זבוטינסקי 12 קרית מוצקין

מיכל גולדנברג – בניית ציפורניים בקריות – 052-5226973 האלה 6 קרית אתא

מיידי ציפורניים – בניית ציפורניים בקריות – 052-5466248 תמר 1 קרית ים

ציפורני הוליווד – בניית ציפורניים בקריות – 052-3714455 – קרית ביאליק

נטלי הררי – בניית ציפורניים בקריות – 054-4342549 – רופין 8 קרית אתא

נטליס נייל – בניית ציפורניים בקריות – 052-6990940 דליה 12 קרית ביאליק

נטשה בניית ציפורניים – בניית ציפורניים בקריות – הלילך 1 קרית ים

נייל קלאס – בניית ציפורניים בקריות – 04-8741447 – קרן היסוד 64 קרית ביאליק

סבטלנה בניית ציפורניים – בניית ציפורניים בקריות – ז'בוטניסקי 26 קרית ים

ענבר ביו – בניית ציפורניים בקריות – 050-4448487 שבזי 5 קרית ים

פאטי ציפורניים – אל איי – בניית ציפורניים בקריות – 04-8406407 תבור 1 קרית ביאליק

סבטלנה בניית ציפורניים ומקשטת – בניית ציפורניים בקריות – 050-5814257 יוספטל 22 קרית מוצקין

בניית ציפורניים – בניית ציפורניים בקריות – 050-7320378 – הירדן 15 קרית מוצקין

אילנה עובד – בניית ציפורניים בקריות – 050-7239341 – הגנה 15 קרית ביאליק

סנדרין – בניית ציפורניים בקריות – 050-8918283 – החשמונאים 8 קרית ים

אילנה סטודיו – בניית ציפורניים בקריות – 04-8740360 – קרית ים

ברי בניית צטיפורניים – בניית ציפורניים בקריות – 04-8710077 שד' ירושליים קרית ים

אנ.סי.אי – בניית ציפורניים בקריות – 04-8438059 – בן צבי 59 קרית אתא

אסנת דניאל – בניית ציפורניים בקריות – 052-8443636 – רנס 1 קרית מוצקין

רוית בקצה האצבע – בניית ציפורניים בקריות – 054-6307523 אחי אילת 14 קרית חיים

זהבית ציפורניים – בניית ציפורניים בקריות – 052-8689558 – המייסדים 14 קרית ביאליק

טלי זמורה – בניית ציפורניים בקריות – 052-4468884 – גושן 4 קרית מוצקין

זמירה צדוק – בניית ציפורניים בקריות – 052-5895896 – הזית 2 קרית ביאליק

כרמית בניית ציפורניים – בניית ציפורניים בקריות – 052-3970140 הרב קוק 40 קרית מוצקין

יונית כהן – בניית ציפורניים בקריות – 04-8451860 בילו 4 קרית אתא

חגית – בניית ציפורניים בקריות – 052-3738676 – כברי 4 קרית חיים

יוניק ניילס – בניית ציפורניים בקריות – 050-6311660 שד' ירושליים 70 קרית ים

סוד הציפורן – יפית – בניית ציפורניים בקריות – 04-8700842 – כצנלסון 2 קרית מוצקין

מעיין – ברקת – בניית ציפורניים בקריות – 052-2821077 יקינטון 13 קרית ביאליק

ציפי גלר – בניית ציפורניים בקריות – 050-3338584 – אלכסנדר זייד 27 קרית חיים

דליה מאג'יק נייל – בניית ציפורניים בקריות – 052-6447747 – אחד העם 17 קרית אתא

דורית דיין – בניית ציפורניים בקריות – 052-8705339 הבונים 4 קרית ביאליק

דורית קוסמטיקס – בניית ציפורניים בקריות – 050-4860043 – קרן היסוד 42 קרית ביאליק

דנה – אומנות הציפורן – בניית ציפורניים בקריות – 052-6757937 – הנרייטה סולד 23 קרית ביאליק

דקר – בניית ציפורניים בקריות – 054-4568564 – אפרים 54 קרית ביאליק

ליאת וינוקור – בניית ציפורניים בקריות – 050-7927748 – פלוגות 50 קרית חיים

מכון קוסמטיקה אלפייה – בניית ציפורניים בקריות – 054-3033343 – דרך עכו 190 קרית ביאליק

אלה מניקור – בניית ציפורניים בקריות – 050-4594506- החשמונאים 45 קרית ים

אורלי אומנות הציפורן – בניית ציפורניים בקריות — 052-6900001 – שבטי ישראל 39 קרית ביאליק

נייל אושרה – בניית ציפורניים בקריות – 054-4877716 – סעדיה גאון 3 קרית מוצקין

אייצ'י – בניית ציפורניים בקריות – 04-8702286 הקיבוצים 50 קרית חיים

אלה – בניית ציפורניים בקריות – 050-8293903 – החשמונאים 60 קרית מוצקין

אירנה וטניה- בניית ציפורניים בקריות – 04-8706992 – גושן 60 קרית מוצקין
****

במדור זה תמצאו ציפורניים בקריות – בנייה וטיפוח בקריות ובנוסף: מניקוריסטית בקריות , טיפוח ציפורניים בקריות, בניית ציפורניים בקריות, ציפורניים מלאכותיות בקריות, פדיקור בקריות – בתי עסק של בניית ציפורניים בקריות דורשים ציוד מגוון ורב. יש צורך בשולחנות ותאי איחסון רבים לכל החומרים, מכונת שיוף, מנורת סילר לייבוש לאחר הבנייה, מכחולים, מקלות דקים או קיסמים להדבקת אבנים, אבקות ונוזלים לכל מיני סוגי בניית ציפורניים ועוד. גם בניית ציפורניים בקריות דורשת לימודים והכשרות רבות ובעיקר לקוסמטיקאית צריך להיות חוש יצירתי ומקורי בכדי ליצור יצירות אומנות על הציפורן לכל לקוחה אשר מבקשת משהו מיוחד., בצפון, באזור צפון, בקריות, קריות, אמינות, מומלצים, מומלצות, חוות דעת, מומלץ, אמינים, זולים, מחירים נוחים, השוואת מחירים, מקצועיים, קרית אתא, קרית ביאליק, קרית מוצקין, קרית ים, עכו, נשר, קרית חיים, קרית שמואל.
***


נייל קלאס – מרכז היופי של הדס

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


04-8741447
למידע נוסף >>


ציפורני אורלי ומיטל

בניית ציפורניים בקריות, בניית ציפורניים בצפון
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


MiCHAL ALKALAY בניית ציפורניים בשיטת קריאייטיב

בניית ציפורניים קרית חיים, בנית ציפורניים בקריות, בנית ציפורניים בצפון
אזורי פעילות: קריות, צפון, חיפה, מומלצים


054-4565165
למידע נוסף >>


לנה זינמן – אומנית האיפור

בניית ציפורניים בקריות, בונת ציפורניים בצפון
אזורי פעילות: קריות, צפון, חיפה, מומלצים


054-9548030
למידע נוסף >>


טופנייל – ציוד לבניית ציפורניים

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


04-8408083
למידע נוסף >>


דורית גולן

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


סטודיו סטייל

בניית ציפורניים בקריות, מניקור/פדיקור בקריות, שיזוף בהתזה בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


סבטלנה – בניית ציפורניים

בניית ציפורניים קריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


כרמית – בניית ציפורניים

בניית ציפורניים בקריות, בונת ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


סיגל היופי בידיים שלך

בניית ציפורניים בקריות, בונת ציפורניים קריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בקרוב
למידע נוסף >>


לירן גלילי – אשפית בבניית ציפורניים

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


סטודיו אילנה – לימודי בניית ציפורניים

לימודי בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


סטודיו Art Nail

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


אורנה סלע – בניית ציפורניים

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


קארין בניית ציפורניים

בניית ציפורניים בקריות
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>


גלית אנטמן – מכון לקוסמטיקה

בניית ציפורניים בצפון, בניית ציפורניים צפון
אזורי פעילות: קריות, צפון, חיפה, מומלצים


בהקמה
למידע נוסף >>

מחפשים בניית ציפורניים בקריות? 24/7 הינו המוביל בתחום חברות מומלצות, בעלי מקצוע, נותני שירות ועסקים מומלצים באזור .בדיוק בשבילכם הוקם פורטל מומלצים 24/7, פורטל עסקים שבו לקוחות יכולים לאתר בקלות בעלי מקצוע מנוסים ואיכותיים בחיפה, נשר, טירת הכרמל, עכו, קריית טבעון וכל אזור קריות. צוות הפורטל דואג למיין את בעלי המקצוע לפי קטגוריות ראשיות ותתי קטגוריות בכדי שהחיפוש יהיה נוח וקל. בפורטל הלקוחות יכולים לקבל מידע על בעלי המקצוע בצפון הארץ, בתי עסק (כתובת, טלפון והשירותים המוצעים) ומדריכים מקצועיים בתחומים השונים. אם אתם מחפשים בניית ציפורניים בקריות אז הגעתם למקום הנכון. חוות דעת על בעלי מקצוע, נותני שירות מומלצים בלחיצת כפתור. מגוון בניית ציפורניים בקריות שישמחו לתת לכם שירות.
אתר עסקים ובעלי מקצוע מומלצים 24/7 אסף עבורך את כל בעלי המקצוע ונותני השירות המומלצים ביותר באזור מגוריך בתחום בניית ציפורניים בקריות. מטרת סיווג זה היא לאפשר לגולש להגיע אל נותן השירות או בית העסק הקרוב ביותר אליו ברגע נתון זה. טלפון, שעות פעילות, סניפים וכל מה שצריך לדעת על בניית ציפורניים בקריות. אתר עסקים ובעלי מקצוע מומלצים 24/7 אסף עבורך את כל המידע הרלוונטי ומציג בעלי מקצוע ונותני השירות המומלצים ביותר באזור מגוריך בתחום בניית ציפורניים בקריות. בהצלחה!
לכל בית עסק או בעל מקצוע יש בפורטל כרטיס המכיל את כל הפרטים הרלוונטים. בכל כרטיס תוכלו להביע את התרשמותכם מהשירות שקיבלתם או לקרוא את ההמלצות וחוות הדעת של לקוחות קודמים שקיבלו שירות מבעל המקצוע/העסק בצפון. צוות האתר הינו מהמקצועיים בחיפה, קריות והסביבה ודואג לעקוב אחר תגובות הגולשים – תגובות חיוביות יעלו את דירוג בעל המקצוע ותלונות יטופלו בהתאם. הצוות דואג כי גם הלקוחות וגם בעלי המקצוע יצאו מרוצים ולכן ייפעלו להסיר מידע שקרי, מטעה או מידע הסותר את תנאי השימוש באתר.

מילות חיפוש: יצאת צדיק, אמינים, ביקורות, עפולה, נהריה, גליל מערבי, מגדל העמק, מחירים, מחירון, וידאו, השוואת מחירים

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.5.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="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 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@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.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),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

Please turn off your ad blocker.";case"disabled_mr":return`

Invalid URL

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

No sponsors

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

No Sponsors

\n

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

`;case"disabled_mr":return`\n

Invalid URL

\n

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

`;case"js_error":return"\n

An Error Occurred

\n

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

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

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