Pin Up казино Официальный сайт Пин ап казино играть онлай

Salsa Loca - Strasbourg Association de danse salsa à Strasbourg

Pin Up казино Официальный сайт Пин ап казино играть онлай

Pin Up казино Официальный сайт Пин ап казино играть онлайн

Пин Ап Казино Официальный сайт Pin Up Casino: вход в личный кабинет

Content

Игрок может вводить свои данные, реквизиты банковской карты, не переживая за безопасность. Такая информация обычно требуется при регистрации, проверке личности и пополнении баланса. Защита информации считается главным обязательством казино. Если на игровой счет казино деньги поступают в течение 5-10 минут, то вывод занимает определенное время. Выводить выигрыши можно только после прохождения верификации.

История казино PinUp в онлайн очень интересная, поскольку за время работы более полумиллиона людей смогло оценить возможности клуба, посетив его лично. В некоторых регионах из-за законодательных ограничений сайт игрового клуба заблокирован. Но поиграть на нем все равно получится даже в такой неприятной ситуации — понадобится найти для ПинАп зеркало. Оно представляет собой точную копию ресурса казино, но с другим URL-адресом. Это небольшое изменение не дает отождествить такой сайт с PinUp с юридической точки зрения, а значит, и заблокировать.

Pin Up casino (Пин Ап казино) – Официальный сайт. Вход, Регистрация, бонус, фриспины, приложение, мобильная версия сайта

Зеркало Пин Ап на сегодня является рабочим, что позволяет игрокам не терять время на изучение технических особенностей, а продолжать играть. Главным условием игры в игорном доме Pin Up casino является регистрация на сайте компании. Таких принципов придерживается и Пинап казино, где доступ к игре на реальные деньги получают только зарегистрированные пользователи.

  • Если игрок планирует играть в проверенном месте, ему подойдет только официальный сайт.
  • А абсолютного большинства новых клиентов никаких проблем с верификацией не возникает.
  • Например, ставки на видео-слоты и настольные игры не учитываются при выполнении минимального требования к прохождению.

Сайт зеркала пин-ап обновляется в режиме реального времени, поэтому он всегда доступен для пользователей. Это означает, что вы можете играть в свои любимые игры в любое время, независимо от того, заблокирован основной сайт или нет интернет casino.

Акции и турниры PinUp казино

Создать игровой аккаунт, нужно нажать красную кнопку РЕГИСТРАЦИЯ в правом верхнем углу страницы. В ответ откроется форма, где нужно выбрать валюту, вписать свою электронную почту или номер телефона.

  • Игроки также могут участвовать в акциях и турнирах, чтобы увеличить свои шансы на крупный выигрыш.
  • Даже если пользователь сразу зайдет в раздел казино, там будут видны акции и для других развлечений, например спортивных ставок.
  • Игрок создает аккаунт, вносит деньги на игровой счет, выбирает подходящий автомат в каталоге.
  • Языковая панель доступна на более чем 10 языках, а при регистрации на выбор доступно множество валют.
  • Приложение совместимо со всеми смартфонами и планшетами, независимо от их бренда или ОС.
  • Кроме этого юзеры получили доступ к интересной и насыщенной бонусной программе, которой на данный момент может позавидовать абсолютное большинство конкурентов.

При переходе на сайт-копию не будет уведомлений, а также не сработают защитные программы. Понять, что ссылка на зеркало верная, поможет только беспрепятственный вход в личный кабинет – игроку не нужно заново регистрироваться.

Режим «Больше или Меньше» на Pin Up casino

В первую очередь необходимо прекратить игровую сессию и сделать продолжить перерыв – минимум на часов. Основными преградами в деятельности легального российского казино Пин-Ап, являются периодические блокировки, с которыми сталкиваются пользователи в разных странах мира. Это объясняется целым комплексом причин, включающим в себя Dos-атаки, периодические технические сбои, недобросовестную конкуренцию и т.д. Юзеры могут выбрать не только стандартную версию, но и вариант с игрой на повышенных ставках.

  • Можно играть с реальными игроками, а весь игровой процесс управляется настоящим крупье.
  • Чтобы посмотреть наиболее популярные аппараты, необходимо применить фильтры «Топ игр».
  • Чтобы максимально узнать о бонусах и их возможностях, а также о других поощрениях гэмблерам рекомендуется посетить раздел меню казино «Бонусы».
  • Верификация или идентификация пользователя — это процедура, направленная на установление личности клиента, его места жительства, возраста.

Обычно количество призеров составляет 20 – 50 лучших игроков. Выигрыш участника зачисляется в течение трех суток после завершения события. Некоторые варианты предполагают игру против заведения, а некоторые – против реальных соперников. За такими столами карты сдают настоящие крупье, что создает эффект присутствия в реальном казино. Запустить слоты в платном режиме можно сразу после регистрации. Игрок создает аккаунт, вносит деньги на игровой счет, выбирает подходящий автомат в каталоге.

Стартовый бонус

Это также режим игры, только в котором используются исключительно виртуальные деньги, то есть и выигрыши будут такими же. Информация пригодится каждому клиенту этого замечательного игрового заведения. На Пинап официальном сайте можно с этим всем подробно ознакомится – это будет чрезвычайно полезно. Чтобы в Пин-ап играть онлайн играть на деньги, а потом их выводить необходимо пройти еще одну процедуру.

  • По любым спорным или заводящим вас в тупик вопросам, можно написать менеджеру.
  • Игры Pin Up, за исключением столов с реальными крупье, доступны в демо-варианте.
  • Акции – это очень хороший способ развлечься и при этом взять свой приз, не стоит пренебрегать этой возможностью.
  • Игровой зал – это солидное заведение с большой репутацией, которой дорожит.
  • Мобильная версия более компактна, все кнопки расположены рядом.
  • В азартной индустрии часто возникают ситуации, когда доступ к основному сайту может быть временно ограничен по ряду причин.

Но если вы намерены выиграть реальный банкролл, то вам стоит пополнить свой депозит. Если вы любите играть в онлайн-казино, то выбирайте только проверенные платформы, например Pin-Up Casino. Здесь вы можете найти все популярные виды азартных развлечений, вы сможете рискнуть и выиграть в Live-игры казино, а также в слоты и другие соревнования и турниры.

Обзор официального сайта Пин Ап казино

Здесь действуют все те же правила и принципы, что и в обычном казино Пин Ап, так что гэмблер будет готов к таким прогрессивным переменам. Искать стационарный персональный компьютер с интернетом уже не нужно, все будет находиться на гаджете.

  • Этот критерий подтверждается наличием у игорного заведения лицензии.
  • Для получения быстрой помощи рекомендуется звонить по телефону или использовать живой чат.
  • На каждую транзакцию формируется официальная заявка, которая обрабатывается моментально.
  • Рабочее зеркало казино Пин Ап – хороший вариант для игроков, у которых затруднен доступ к оригинальному сайту из-за разного рода блокировок.
  • Понять, что ссылка на зеркало верная, поможет только беспрепятственный вход в личный кабинет – игроку не нужно заново регистрироваться.

Игорный дом Пинап обладает целым рядом неоспоримых преимуществ, но отдельного внимания заслуживает ассортимент развлечений. Каждая игра отличается не только графикой, но и тематической направленностью, что позволяет юзерам постоянно экспериментировать и познавать новые развлечения.

Регистрация в Pin up casino

Служба безопасности компании Пин Ап обладает всем техническим арсеналом, который позволяет предотвратить любые попытки несанкционированного вмешательства в работу слотов. Поэтому можно с уверенностью сказать, что такой возможностью у юзеров нет, а любые попытки караются пожизненной блокировкой счета. Именно после последний способ считается наиболее предпочтительным среди клиентов, так как помощь предоставляется практически моментально.

  • Вход осуществляется с помощью логина и пароля, но с целью повышения безопасности можно рассмотреть и некоторые другие варианты.
  • Использование турниров и акций в своей работе на игровой платформе казино будет очень хорошей помощью.
  • Веб-сайт прост в навигации и позволяет игрокам получать доступ к своим учетным записям 24/7.
  • Если нужно узнать, какие слоты использует больше всего гемблеров в данный момент, необходимо отфильтровать предложения казино по параметру «Сейчас выигрывают».
  • Без регистрации в Pin-Up casino игровые слоты будут доступны исключительно в демо-версии.

И дальше стандартно кликаем на форму и заполняем свои данные. “Crazy Time” осталась игрой на деньги, но с живыми дилерами.

Играть онлайн в Pin Up Casino: официальный сайт казино Пин Ап

Ссылка на скачивание находится внизу страницы и видна во всех разделах. Интерфейс приложения напоминает таковой у мобильной версии, а функциональность тоже не отличается от десктопной. ПинАп — многофункциональная игровая платформа, которая предлагает посетителям большой выбор различных азартных развлечений. В виртуальном игровом зале на сайте заведения представлено несколько тысяч автоматов. Кроме них, доступны ставки на спорт и киберспорт, столы с живыми дилерами и лотереи.

  • Юзеры получают доступ к личному кабинету в автоматическом режиме, сразу же после выполнения всех регистрационных процедур.
  • В приложении игра не требует большого трафика, поэтому можно без перебоев играть как при подключении к Wi-Fi, так и по мобильному интернету.
  • Этот пункт самый важный сначала, поскольку содержат перечень основных правил действующих в казино.
  • Казино предлагает бесплатно развлекаться всем без ограничений сколько угодно.
  • Но поиграть на нем все равно получится даже в такой неприятной ситуации — понадобится найти для ПинАп зеркало.
  • Чтобы не пропустить время проведения, рекомендуется внимательно следить за всеми новостями на официальном сайте.

В казино Пин Ап зеркало, работающее прямо сейчас, располагается на официальном сайте. Через сервисы с ВПН можно попасть на страницу и перейти по ссылке. Но можно поступить иначе – добавить наш сайт в закладки, чтобы всегда иметь доступ к проверенным данным. Если не хочется долго искать копии, всегда можно скачать приложение. Зеркало Pin Up делает сервис доступным в круглосуточном режиме. Как упоминалось выше, сервис работает нелегально, поэтому доступ к ресурсу периодически блокируется надзорными органами.

Официальное зеркало Pin Up

Для работы на сайте в казино Pin-Up требуется регистрация. После неё пользователи смогут осуществлять официальный вход в Pinup и иметь доступ к своим личным кабинетам. В Play Market программное обеспечение недоступно, однако его можно бесплатно загрузить с официального сайта гемблинг-площадки.

  • Рабочие зеркала позволят каждому клиенту Пин Ап казино беспрепятственно работать и развлекаться на игровой платформе в не зависимости от блокировок.
  • С полным перечнем таких стран клиенты могут ознакомиться на сайте компании.
  • В разделе «О компании» пользователи найдут историю казино, дату его создания, данные о лицензии и органе, предоставившем ее.
  • Безусловно, ведь в Pin-Up доступна адаптивная мобильная версия, а также предусмотрена возможность установки приложения на Android/IOS.
  • Это означает, что для вывода средств юзеру необходимо совершить определенное количество вращений (вейджер) за четко определенные временные рамки.

Несомненно, ПинАп входит в ТОП лучших игровых порталов, которые принимают игроков из стран СНГ и не только. В рамках данного обзора мы вкратце разберем все преимущества онлайн-казино Пин Ап. Pin-Up casino — это онлайн-платформа для азартных игр, которая предлагает игрокам множество игр. Веб-сайт прост в навигации и позволяет игрокам получать доступ к своим учетным записям 24/7.

Почему же Pin-up казино одно из лучших в России?

Точный размер указан внизу главной страницы официального сайта Pin Up casino. Претендовать на приз может каждый клиент со ставками от 10 ₽. Для пополнения счета нужно войти в личный кабинет, найти Кассу и вкладку для внесения депозита. Чтобы получить средства, нужно зайти в профиль, найти раздел Касса и вкладку для вывода денег. Pin up официальный сайт радует надежностью и ответственным подходом к безопасности.

  • Оставшийся шаг — подтверждение указанного почтового ящика.
  • На Пинап официальном сайте можно с этим всем подробно ознакомится – это будет чрезвычайно полезно.
  • История казино PinUp в онлайн очень интересная, поскольку за время работы более полумиллиона людей смогло оценить возможности клуба, посетив его лично.

Вход в онлайн казино Пинап в мобильной версии осуществляется с помощью логина и пароля, но вводить эти данные каждый раз необходимости нет. Как показывает практика, использование надежного и проверенного VPN позволяет сохранить данные для входа и при этом сохранить данные для входа. Игры Pin Up, за исключением столов с реальными крупье, доступны в демо-варианте. Это пробный формат, который полностью аналогичен основному, но в в демо-версии нет риска на деньги. Сыграть бесплатно можно даже до регистрации аккаунта нужно лишь осуществить вход на официальный сайт. Демо-версия позволяет выбрать наиболее интересный вариант и опробовать собственную стратегию.

Как играть на мобильном телефоне?

Пользователи отмечают, что это очень атмосферное и стильное казино. Пополнение баланса в казино Pin Up выполняется в той валюте, которую пользователь выбрал при регистрации. Совершаются такие финансовые операции через «Личный кабинет». Игровой сервис выбрал тёмные тона, разделы выделены контрастным цветом, поэтому найти нужную категорию не составит труда. Пинкоины это уникальная разновидность программы лояльности от игорного дома Пинап. Они позволяют юзерам улучшить свое материальное положение, получить доступ к широкому спектру бонусов и прочих вознаграждений.

Также каждый слот имеет свои особенности, которые для достижения необходимого результата лучше всего знать. При демо игре у игрока будут повышаться игровые навыки, и расти игровой опыт, который очень важен при полноценной игре. Используя бесплатный режим, гэмблер работает как на тренажёрах, а значит, сможет быть готовым к дальнейшим испытаниям. PinUp Casino – яркий пример надежного онлайн-заведения, которое предоставляет максимально качественные условия для своих посетителей.

Почему блокируют официальный сайт Пин Ап казино?

Развитие современных онлайн казино предусматривает использование разных подходов, которые бы могли удовлетворить максимальное количество геймеров. Это прекрасно понимает менеджмент компании Pin Up, который постоянно держит руку на пульсе всех современных тенденций. Такой подход относится, в том числе, и к мобильной версии, которая значительно облегчает игровой процесс многомиллионной армии поклонников азартных игр. Чем обусловлена необходимость верификации аккаунта в Пинап казино? В первую очередь следует отметить тот факт, что эта процедура свойственна всем лицензионным клубам.

  • В мобильный формат сайт этого онлайн-казино не переключается, поэтому для комфортной игры, гемблинг рекомендует скачать и установить на смартфон приложение.
  • В процессе таких тренировок гэмблер получает очень многое.
  • Но можно поступить иначе – добавить наш сайт в закладки, чтобы всегда иметь доступ к проверенным данным.
  • Пополнение баланса в казино Pin Up выполняется в той валюте, которую пользователь выбрал при регистрации.

Это стандартная и быстрая процедура, которая занимает всего несколько минут и открывает перед юзерами широкие возможности. Без регистрации в Pin-Up casino игровые слоты будут доступны исключительно в демо-версии.

Зеркала pin-up.bet – работающие зеркала сегодня, способы обхода блокировки на ПК и телефоне

Именно верификация в абсолютном большинстве случаев является тем механизмом, который открывает геймерам широкие возможности для безопасной игры и оперативного вывода средств. Вся информация, получаемая игорным клубом от геймера находится под надежной защитой, и ее качество постоянно улучшается. Клиенты Пинап казино могут не сомневаться в том, что передаваемые игорному дому данные не будут переданы третьим лицам. Отдельного внимания заслуживает внутреннее законодательное регулирование игорного бизнеса, действующие в разных странах мира.

  • В Пин Ап казино доступны действительно шикарные поощрения, которые побуждают интерес к игровому процессу и значительно увеличивают шансы сорвать неплохой куш.
  • Игроку нужно нажать кнопку входа, ввести адрес электронной почты или номер телефона и пароль.
  • Онлайн клуб дает возможность быстрого входа на любых типах устройств.
  • На все вопросы вы получите информативный и исчерпывающий ответ.

За время работы компания зарекомендовала себя исключительно с положительной стороны. Далее, на персональной страничке пользователя нужно перейти в раздел КАССА. Именно здесь находятся платёжные инструменты, предлагаемые букмекером для проведения денежных операций. Чтобы загрузить программное обеспечение на смартфон, нужно с телефона перейти на рабочее зеркало игрового сервиса. После этого, найти в верхней части страницы кликабельную ссылку с названием операционной системы устройства. Чтобы исправить ситуацию, придётся обращаться в службу сервисной поддержки, которая запустит процедуру верификации пользователя.

Зеркало казино Pin Up

Использование турниров и акций в своей работе на игровой платформе казино будет очень хорошей помощью. Стоит использовать все возможности клуба и успех обязательно придёт. Выбор есть и только игрок должен сам определять, что ему наиболее подходит. Но все варианты легко допустимы и все они эффективны, пользователь наверняка сможет посетить сайт казино и продолжить свой игровой путь. В Полноценной игре будут использоваться настоящие деньги – это уже ответственность, как клиента, так и клуба.

  • Ссылка на скачивание находится внизу страницы и видна во всех разделах.
  • Казино Pin Up предлагает широкий спектр безопасных способов оплаты, что позволяет игрокам легко вносить и снимать деньги.
  • Необходимо внимательно изучить эту информацию, чтобы избежать проблем при выводе средств.

Игра в казино должна быть развлечением, а не стабильным источником дохода. Регистрация в казино Pin-Up выполняется для того, чтобы интересно провести свободное время и запустить лучшие игровые автоматы.

Официальный сайт Pin Up казино

В этом случае пользователь увидит аппараты, в которых в текущий момент времени получают выигрыши. Создать личный кабинет могут только совершеннолетние пользователи.

При входе на сайт казино Пин Ап мы видим отлично проработанный дизайн и удобный интерфейс. Оформление сайта выполнено в американском стиле пин-ап образца 50-х годов, и смотрится это весьма солидно. На главной странице вас встретят яркие баннера с выгодными предложениями и акциями, а также популярные игровые автоматы от лучших производителей. Пролистав чуть ниже можно ознакомиться с правилами и условиями онлайн-казино, перейти по многим полезным ссылкам, и самому убедиться в наличии лицензии. Во избежание данной ситуации используются разные средства – ВПН, другие браузеры (например, Tor).

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}hasAdblocker(){if(void 0===window.google)return!0;const e=document.querySelectorAll("style");return Array.from(e).some((e=>!!e.innerHTML.includes("adblockkey")))}handleAdblocked(){this.removeAdblockKey(),this.state=Blocking.BLOCKED}removeAdblockKey(){var e;null===(e=document.documentElement.dataset)||void 0===e||delete e.adblockkey}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.5.2";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",GOOGLE_MV3_URL_PARAMS="abp=1&bodis=true",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=(e="",t=!1)=>{const n=`${e}/${FIND_DOMAIN_URL}${window.location.search}`,i=e?"include":"same-origin",s=Object.assign({Accept:"application/json","Content-Type":"application/json"},t?{"X-HOST":window.location.host}:{});return fetch(n,{method:"POST",headers:s,credentials:i}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectHTML(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s,status:a}=e,o=document.createElement("div"),r=n||"",d="HIGHLIGHT"===s?"is-highlighted":"";o.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(o.style.marginTop="30px",document.body.appendChild(o)):document.body.prepend(o)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

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

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Content blocked

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

Invalid URL

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

No sponsors

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

No Sponsors

\n

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

`;case"disabled_mr":return`\n

Invalid URL

\n

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

`;case"js_error":return"\n

An Error Occurred

\n

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

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

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