DEFICIT THINKING: What is it??????


NO DISAGREEMENTS ALLOWED??!! GROUPTHINK?? Is discussing Deficit Thinking any of these? When a few bloggers and vloggers attempted to broach the subject of Deficit Thinking this week, the terms above were roundly thrown around. In this vlog by DE, calmly addresses the real issue of Deficit Thinking and how it affects the Deaf community.

38 comments

  • JC 17 years ago

    It must be about Philosophy vs Orator?

    Reply
  • deafk 17 years ago

    Thanks for describing what a deficit thinking really is! Appreicate that!!

    deafk

    Reply
  • drmzz 17 years ago

    Focusing or sticking onto “little details rather than looking at the big picture,” YES! We need to go beyond that nitpicking mentality. Bottom line, we all are Deaf whether we like it or not. Come together. A New Years’ resolution? 🙂 Thanks for this vlog!

    Reply
  • Gary Brooks 17 years ago

    Beautiful!!! I hope you don’t me saying? I always enjoy watching you! you always make me smile! you look good damn!!!

    alright David and Colin see you in Feb! don’t forget to call me!

    Gary 😉

    Reply
  • Name Withheld Upon Request 17 years ago

    Deaf Pundit

    Somewhere in Deafread today, John Egbert told you that censorship is not the issue anymore already and you knew it.

    But you still want to continue to cause trouble?

    And you still want to look at small detail, censorship, not the whole picture about deficit thinkers.

    This is what DE is talking about.

    Reply
  • debby 17 years ago

    Very interesting debate! Hope it helps the Deaf community to understand clearly and what we need to do….

    Reply
  • Ella Lentz 17 years ago

    DE,
    many thanks for clarifying and expanding the insight into “deficit thinking”. You are right about the central concept. It was something I didn’t emphasize enough in my vlog today. It’s very important concept to understand as fully as possible.
    Loved your graphics!!!!

    Reply
  • Name Withheld Upon Request 17 years ago

    C

    Many people knows who the deficit thinkers are and so do you.

    Don’t worry about John and stop nitpicking the small details, focus on the big picture.

    Reply
  • JungleForest 17 years ago

    DE & Ella,

    Thanks for address to our Deaf community about Deficit Thinking definite, to help us understand the explantian of meanings. Since I’ve learn something new this week. This helps me gain my understanding the more the better. Never stop learning, everyday.

    Good valid points! Need to clean out of our systems from deficit thinking. Often, jump to conclusion quickly without thinking instead need to think and willing to open feedback.

    Good educated vlog. 🙂 Wanna say, “Happy Holidays and New Year’s Eve!”

    Reply
  • Jean Boutcher 17 years ago

    DE,

    You said it all! I would like to add what I
    have commented on Ella’s blog as follows:

    “You hit the nail on the head about a doctor’s or anyone’s mentioning “hearing loss” as the reflection of his or her deficit thinking. It reminds me of a story my friend had told me about the parents she knew several years ago. The doctor told the parents, “You have a baby boy.” The parents were joyous. Then the doctor shifted their mood by saying, “But your baby has no language.” Bewildered, the parents asked him what he meant by that. He told them that the baby was deaf and recommended them to see the cochlear implant doctor.

    It is not true that deaf babies have no language. American Sign Language (ASL) is a language of the deaf. Structurally and synataxically, ASL meets the requirements prescribed in Noam Chomsky’s “Universal Rules of Grammar” (1957).”

    Reply
  • Jean Boutcher 17 years ago

    I like Mike Schmidt’s 2008 resolution.

    Reply
  • Steve 17 years ago

    Great ideas come from great thinkers. Now if only those ideas were in practical uses, we’d be in better place. That said, my concern is many don’t practice what they preach so history repeats itself.
    Keep brewin’ and chewin’!

    Reply
  • Jon Savage 17 years ago

    [riffly_video]C927BE82AD2E11DC919F44CF0D09CCE3[/riffly_video]

    Reply
  • Sheri Farinha Mutti 17 years ago

    I wanted to share with this site and another (because of the different groups of folks whom tend to flock to the diff vlogs/blogs) that there are other ways to look at the term “deficit thinking” in hopes that this post stimulates a more forward thinking instead of seeing people constantly misuse this term to apply it to everyone around them if there is a disagreement or just because you don’t like a term or a view someone stated. This term more or less has been used when talking about racism, and more importantly, how reforms in education happening around the USA are trying to rid the system of traditional deficit thinking.

    1. “…deficit thinking smacks of a variety of “-isms” — none of which are at all morally or ethically acceptable in a multi-cultural, global environment. Child A may have a different set of skills and experiences than Child B; but that in no way means Child A’s skills and experiences are inferior to Child B’s. Our children’s futures aren’t predetermined. No one is “destined for failure” — at least not until we convince them they are through our good efforts to help them overcome their deficits and “save them” from their lives.”
    http://www.bellaonline.com/articles/art22021.asp

    2. This source really hits the mark about the term deficit thinking, and is really applying to students who are gifted which could easily be substituted for deaf ed when you think about it.
    “Deficit thinking exists when educators hold negative, stereotypic, and counterproductive views about culturally diverse students and lower their expectations of these students accordingly. Until deficit thinking becomes dynamic thinking, the unnecessary under-representation of diverse students in gifted education will continue
    …Family involvement in the educational process enhances student achievement. However, if a deficit orientation is present among educators, they may not communicate with culturally diverse families about gifted (or deaf) education services and other opportunities. Further, if this mindset exists, diverse parents might view schools with suspicion and doubt the school’s commitment to their children. Such parents are unlikely to involve themselves in school settings because of the belief that they are not valued as a resource and member of the school community. Teachers often prefer to work with students whose parents are involved in schools rather than with students whose parents are not. How are students privileged by teachers when their parents/families are involved? How are students hindered by teachers when their parents/families are not involved?…schools will need to examine how much families are involved in the formal learning process. Diverse families need to be encouraged to become and remain involved.”
    http://findarticles.com/p/articles/mi_m0NQM/is_3_42/ai_108442649/pg_1

    3. Lastly, New Year’s Resolutions:Rid your self of Deficit thinking!
    “Deficit thinking is a waste of time, promoting misery, guilt, and frustration for no good reason. Here’s how to get rid of it:
    • Don’t waste energy looking for gaps and deficiencies. Sure, you have some. Everyone does. Try using that energy to celebrate and build on what you do well. It’ll give you a far better payback.
    • Don’t assume the glass is half empty, when it’s simply half a glassful. Be grateful and enjoy what you have and who you are, instead of ignoring both in favor of worrying about what you don’t have and aren’t likely to become, however much you obsess about it.
    • Don’t take fears for reality, commonplace thoughts for truth, and worries for real problems. Nearly all such opinions and thoughts are wrong. Most of the gaps you’ve been encouraged to fret about don’t exist outside the minds of those others who want you to change to fit n with their ideas. The “gaps” are only in your mind because you allowed someone else to put them there.
    • Don’t accept judgments by others without looking at whatever they tell you very, very closely. If you saw a slice of pizza lying on the sidewalk, would you pick it up and eat it? No? Then why do so many people accept judgments and assessments from just about anyone and swallow them down without a moment’s hesitation? Judgments like that are even more likely to contain something toxic than the pizza. What you put in your head can poison you as easily as something you put in your mouth. When someone passes judgment, or tries to put some guilt feeling onto you, tell them to go poison someone else’s mind.
    • Stop focusing on life’s negatives. The world is uncertain and difficult enough without you adding to the pile of problems you have to deal with…”
    http://www.lifehack.org/articles/lifehack/new-year%E2%80%99s-resolutions-and-deficit-thinking.html

    Let’s hope in 2008 we can see ways for us all to work together in system advocacy where we can change deficit thinking out there (starting wtih the medical profession) as it relates to deaf and hard of hearing people.

    (Sorry this is so long, once I research I really get into it, smile).

    Take care…

    Reply
  • Platonic's Eye 17 years ago

    Well, you have very excellent to clarify that issue but how do you deal with emotional above the reason? Deficit thinking already impact number of us very deep instead of focusing the idea in a big picture, I am not sure what people will say what is it? To me, I do appreciate your clarification become very well defined!!! Being obessed is not easy to resolve!!!

    Reply
  • John Critser 17 years ago

    DE admits allowing some deficit thinking to have had some influence on him in the past- So I will believe DE over the real time deficit thinkers, and take DE’s comments more seriously than the deficit thinkers, of course.

    But DE is also enlightened on what deficit thinking really is, he understands what it really means now. DE, Joey, and Ella will provide even stronger leadership on basis of clearly defining deficit thinking. I am excited about their acute awareness of what pulls us down and what will bring us upwards, because they will bring it to our attention. That’s true Deaf leadership.

    It will strengthen Deaf community ties with everyone that feels comfortable terminology-wise (identifying what the problem is) by understanding what the real issues are, and how the terms identify the problem. The Deaf community being educated about obstacles such as deficit thinking will help all of us to understand how to unite and bond together, everyone will benefit from being open minded to concepts that clarifies everything.

    “You will know them by their fruits” is one of my favorite wise sayings. Just watch people continue to rail against the concept of deficit thinking, they are offended and exposed. That is the fruit they bear.

    I rather see the good, healthy fruits of constructive discussion without deficit thinking which is just an attempt to take away from us.

    Deficit thinking produces an empty, unfulfilling void in our lives which only serves to deter the productiveness of a good and healthy discussion of goals and ideas into the bigger picture.

    Sometimes we have to educate everyone, because deficit thinkers do disperse seeds of confusion.

    I always come away from this vlog thinking more clearly about issues that I haven’t understood quite before.

    Professionals do this vlog, which makes it more trustworthy and worth to watch, they’re not bored folks that want to be part of the action only to raise a fuss that makes it obviously deficit thinking.

    I also keep in mind, in due to DE’s admission that deficit thinking has affected him and I am sure, many of us at times, what was the fruit as a result from identifying the problem and abolishing it?

    A stronger community.

    Reply
  • John Savva 17 years ago

    Thank you very much for trying to explain. I am a Deafmute British Sign Language user, and I have tried to follow other vlogs but do not much understand ASL. But somehow I can understand your signing ASL more clean.

    Hope you do not mind me giving your url to http://www.deaf-uk.com and to my blog to allow more people to visit your blog and watch what is deficit thinking.

    Thank you very much for encouraging us into deafhood.

    Reply
  • Lisa C. 17 years ago

    DE and Ella,
    You rock!

    Reply
  • Sandra Goldstein 17 years ago

    DE,

    PAH!!!!!!! Perfect attire !!!!! No eye sore!!!

    I admit that I still have a vague picture of deficit thinkers. Was Alexander Graham Bell a deficit thinker??? I would like to have you give me the names of people who are not alive as deficit thinkers.

    Anyone calls us hearing impaired. Is that person a deficit thinker? If anyone says ASL is not a language, is he or she a deficit thinker.
    Do I get your meaning correctly????

    You know the fact that we are entitled to respect everyone’s opinion and we do not have to agree. Can we stop deficit thinkers?? Should we respect their thoughts? Yet, we do not have to agree their thoughts. It is up to us to agree with deficit thinkers. We cannot stop them.

    No one can tell deficit thinkers whoever are stop to give their deficit thoughts.

    Sandra

    Reply
  • Deb Ann 17 years ago

    Beautiful and thank you! 😉

    Reply
  • Shane Bowers 17 years ago

    DE,
    You did an excellent job in keeping deaf community unite and show a lot of patience dealing with this. Even though, there are some thorns and yet you keeps fighting for what’s best for deaf community. Way to go!
    To all people like DE, Ella, Joey and more. Keep up fighting.
    Happy Holiday to you all

    Reply
  • patti durr 17 years ago

    thank u de and ella for examining this important topic so eloquently in your vlogs – awesome

    i think there is a critical difference between examining systematic deficit thinking and its impact (especially on the educational system) vs. labeling certain individuals “deficit thinkers”

    hence i think that is where some of john e. initial post caused so much ruckus. his idea of having the deafread conference DISCUSS whether or not deficit thinking blogs/vlogs should be listed in this very important filtered feed aggregator – i think it is a valid question and worthy of discussion

    i think the subsequent vlogs and commentaries on the subject have largely been a positive fall out of this prompt

    the only issue i take is with john and others’ choice to label individuals with very large and harmful titles

    there is wisdom in being extremely cautious in saddling anyone with such a title as a ‘deficit thinker’ ‘audist’ or ‘hearing supermacist’

    i would far rather label someone as “my friend whom i happen to disagree with” than with a title that is designed to entrap them and build me up at their expense

    labeling a system and behavior can be constructive

    labeling a person can be name-calling and bad karma

    me think

    re: above question in #29 i think history shows that AG Bell writings, actions and work (banning Deaf teachers from the classroom, ASL from the classroom, and tried to reduce the number of Deaf marriages out of a very paternalistic mindset) came from deficit thinking and audism

    within an examination of racism – perhaps we can learn if there are different classifcations – a racist who actively hates and devalues African-Americans vs. a racist who tries to “save” African-Americans by making them as close to white people as possible

    i think the distinctions are important and i acknowledge that some times the “mask of benevolence” of the later is used to disguise a more intense and hateful mindset but generally i think the majority of folks who promote the “deficit approach” in education over the “additive approach” (working with what the Deaf child can bring to the table – visual learning and expression) do so out of misguided benevolence

    it doesnt make it right – it just means we should understand this – hence the oppression is often more insidious, pervasive, and hard to help others “see”

    sorry for the long comment – u have me thinking

    re: all the comments about “what is the what” etc

    there is an amazing book about the genocide and war in the Sudan called “What is the What?”

    it too shows the complexities of different points of view and the intense damage of hate and violence

    thank u again

    peace

    pdurr

    Reply
  • Tara (MO) 17 years ago

    Well point taken! Good job! Hope it gets the point across to everyone to understand the meaning of the “deficit” thinking or thoughts. One big happy deaf family is what we need yet we still can share our disagreements in a good and positive way! 😉

    Reply
  • ella lentz 17 years ago

    Sheri,
    that’s real good research you got…and thanks for sharing. Agree with you about the resolution for 2008.

    Patti,
    you are very right…label the system with deficit thinking is the most appropriate thing to do…rather than individuals… let’s talk about this more…

    John C…
    wonderful response…yes how true that because of the 127 years of Oralism colonialism in our education system…we do find ourselves with deficit thinking at times… but despair none like you said… the more conscious we are, the more possibility for changing that thinking… and when that happens, our world changes…

    Happy New Year!! and don’t forget to take care of our ONE earth.

    Reply
  • John P. 17 years ago

    I have seen both Ella’s and yours and I completely agree with the points. This reminds me of an article I read – mental space. Everyone has a mental space which enables them to be creative, to freely perceive the reality, to critically think without any interruptions. So, a deaf child goes to a school whose philosophy is to assimilate the child into the majority society. The child’s mental space would be interfered because s/he is not empowered to critically think nor would s/he freely express his/her thoughts. Non-audistic Deaf schools provide no barrier to children’s ability to use their mental space to grow.

    Thank you for sharing the video.

    Reply
  • Davy 17 years ago

    Just stay “Neutral” as that is all count for freedom choice! They will look for positive for growing stronger.

    Davy

    Reply
  • drmzz 17 years ago

    Thanks Jean. This 2008 New Year’s resolution is something we all can strive to reach next level in Deafblogland.

    Reply
  • KC 17 years ago

    http://www.kansascity.com/115/story/406908.html

    please look the story and comment make me sad impact on Ubi Duo make negative to ASL users.

    Reply
  • Raining in the Northwest 17 years ago

    I wonder…. would it be suffice to say that we engage in deficit thinking when we allow ourselves to continue pointing fingers at “oralism and audism” as the perpetrators of our negative experiences?

    One could say that AGBell was a deficit thinker in that he viewed deafness as something that needed to be fixed–but then again ASL was not recognized as a language and the mainstream thought back then was that deaf were dumb and couldn’t do much and thus were not deserving of opportunities. Correct me if I’m wrong.

    I admit that I am having a hard time imagining how the lot of us can simply let go of the old habit of deficit thinking. Somehow we were bred to think this way–based on reacting to negative experiences. It is like a 100-year old slime that’s caked on our skin–we’d have to scrub it off daily to allow ourselves shine again.

    One of the things that help keep my sanity and believe in myself is that I know I am capable of many things. I know I can do it! I can be anything I want! Yet, I am my own worst enemy, for my own deficit thinking leads me to thinking “No way is anyone going to want to work with me”, or “”The FAA will never allow me to fly as a pilot commerically..” or some other self-defeating thoughts..thoughts which are purely based on deficit thinking because I’ve been bred to believe that the Hearing folks will never grant me the opportunity. It’s a tough cookie to overcome because I realize now that the past shapes us who we are, but we still have control over how we are from this point on. An easy thing to say, but not an easy thing to do.

    I have tons to say but this isn’t my blog. Soon I’ll have my real blog/vlog up.

    BF

    Reply
  • JFLMad 17 years ago

    WOW, really impress with the vlog presentation! And it is a powerful one too.

    Yes, we need to work together and stop blaming against each other.

    Reply
  • Jean Boutcher 17 years ago

    Patti Durr,

    In responce to my post on Ella’s blog wherein I
    said I believed that John must have misspoken.
    In responce to my post, he said I was correct
    in my exegsis on the context of his post. For the
    topic, he was at a loss with word choice; thereby mixing up and causing misunderstanding amongst
    readers. I knew he did not mean what he said
    when he said he wanted to censor.

    Reply
  • Ella Lentz 17 years ago

    Raining in the Northwest…
    I dont think that pointing at oralism and audism should be considered deficit thinking, but as a process to identify the culprits of deficit thinking. Also, to recognize that our situation is one of “colonialism”. I think it’s an important part of the process of raising our consciousness and determining where we go from here to “liberate” the Community into healthy thinking about ourselves and the world.
    I like what some of the comments said that we need to first work at ridding deficit thinking within ourselves and go outward.
    You may remember the quotation by Wa Thiong’O “Colonial liberation or independence cannot be successful without the DE-COLONIZATION of the mind.” And to paraphrase Paddy Ladd “Deafhood is a process to de-colonize our mind, body, and spirit from colonialism.”

    Reply
  • Rosemarie 17 years ago

    Excellent..Ella , DE and #24..Sheri Farinha Mutti
    Very Educational for all of us..
    also in # 39 Kansas City UbiDuo..Hope someone there is giving a class in sign language..it’s faster to talk than to write…huh..it’s faster to sign language than to typing..

    Reply
  • Tara (MO) 17 years ago

    KC,

    Yeah, I know the guy. I feel sorry for him because he never get to really see the true meaning of the use of ASL and Deaf culture.

    Reply
  • KC 17 years ago

    Tara,
    Yep, I agreed with you and I saw him what kind of person does way communcations who blame? by their parents advised what he do better communcation way. I think he was angry with his communcation barrier at his work before I guess so that why he wants revoltionary new idea with the device cut off with interpreters but I don’t understand why he can understand with english signs use like SEE or PSE? should keep interpreters have provide to him. Well he wants to make rich money anyway,

    Reply
  • Cynthia K 17 years ago

    *(hands waving) *clap clap clap*

    Thanks, DE. Great explanation on deficit thinking!

    Reply
  • Harmon Menkis 17 years ago

    Good Explaination/clarification …. I wrote a poem of sorts explaining why I am ok as I am. it goes as follows:

    ON BEING DEAF

    I am Deaf
    Yeah
    But
    I am Deaf only in my ears.
    My being Deaf does not mean that
    I am Deaf in the Mind
    I am Deaf in the Heart
    nor am I
    Deaf in the Spirit

    HPM

    Reply
  • William OLLEN, GURU Businessman 17 years ago

    I agreed with DE and Ella 500%!!! So, I knew deaf people ways with negatives in anything as very materialisms….

    I felt that they were failed to fellow their own living hearts, because they were fellow their people’s words than yourself… I met many and many deaf people from poorest people to richest people and also lowest educators to smartest educators in world. I understood deepest of DEAF LIFES, so I took yoga things with meditate tools deepest since 1976 and understood deepest of living spirits for myself first, VERRRRY WELL!!!

    I wanted helping ALL DEAF into BETTER LIVING LIFES with very open minds in real world than their own words by other people‘s words… so I can say more BUT I keep humbling personal for myself as simplest life as BUDDHA WAYS, smile…

    SOMEDAY, they will be waked up ASAP than wait for other years… NO WAY!!!

    I hope that VLOGS/BLOGS will work for everyone for biggest pictures than words.. I don’t care about ASL, so YOU fellow your own heart by Natural LAW!!!

    http://jim.com/rights.html Or/And http://www.iep.utm.edu/n/natlaw.htm

    Reply

Add your comment

Your email address will not be published.

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