\n\n\n',ut=e=>{const t=e?"gray":"white";return``},gt=1e3;const pt=e=>"boolean"==typeof e,mt=e=>Number.isInteger(e),ft=e=>"[object String]"===Object.prototype.toString.call(e),bt=e=>["top","bottom","top-left","top-right","bottom-left","bottom-right"].includes(e);const vt=()=>Math.round((new Date).getTime()/1e3),yt=e=>{const i=new t("user_engagement"),r="utsid-send";let n,c=0,h=!1,g=!1,m={clientHints:{},isScrollable:0,totalClicks:0,sessionLength:0,ippMissclicks:0,visible:0,caught:0,lastevent:0,isFullscreen:0,isTabFocused:0,eventImps:0,retryCounts:0,isScrolled:0,isMouseMoved:0,pagePercentageSeen:0,belowTheFoldSeen:0,touchEnd:0,touchMove:0,clicksByType:{idle:0,input:0,video:0,button:0,link:0,img:0},browsingTopics:[],ufp:P()},f=d(),b=vt();function v(){var t,r;0===m.isFullscreen&&(m.isFullscreen=document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement?1:0),m.isTabFocused=document.hidden||document.mozHidden||document.webkitHidden?0:1,m.sessionStartTime=b,m.sessionId=f,m.sessionLength=vt()-b,m.timeZoneOffset=(new Date).getTimezoneOffset(),m.zones=[],e&&(m.zones=e.getZoneIds()),m.pUrl=encodeURIComponent(o()),m.pReferrer=encodeURIComponent((()=>{const e=document.referrer;return e?l(e):""})()),m.pTitle=encodeURI(u()),m.pDescription=encodeURIComponent(p("description",i)),m.pKeywords=encodeURIComponent(p("keywords",i)),m.pHasIframes=(()=>{const e=document.getElementsByTagName("iframe");return e.length?e.length:0})(),m.pWidth=Math.ceil(window.scrollWidth||document.body.scrollWidth),m.pHeight=Math.ceil(window.scrollHeight||document.body.scrollHeight),m.vWidth=Math.ceil(window.innerWidth||document.body.clientWidth),m.vHeight=Math.ceil(window.innerHeight||document.body.clientHeight),m.inIframe=a(),sessionStorage.getItem("template")&&(m.ippTemplate=sessionStorage.getItem("template")),m.visible=(t=m.vWidth,r=m.vHeight,a()&&(t<10||r<10)?0:1),m.caught=(()=>{let e=0;if(a())try{window.top.location.href}catch(t){e=1}return e})(),m.isScrollable=((e,t)=>{if(e>t){const i=.05;return e-t>Math.ceil(t*i)?1:0}return 0})(m.pHeight,m.vHeight)}function y(){i.debug("Touch move detected."),m.touchMove++,g=!0}function w(){1!==m.isMouseMoved&&(i.debug("Mouse move tracked"),m.isMouseMoved=1,g=!0)}function T(){i.debug("Touch end detected."),m.touchEnd++,g=!0,A()}function A(){if(i.debug("checkScrolling()"),m.pHeight<=m.vHeight)return m.pagePercentageSeen=100,void(m.belowTheFoldSeen=100);var e=Math.ceil(window.scrollTop||document.body.scrollTop),t=Math.ceil((e+m.vHeight)/m.pHeight*100);t>100&&(t=100),t!=m.pagePercentageSeen&&(i.debug("Scroll event detected."),m.isScrolled=1,g=!0),t>m.pagePercentageSeen&&(i.debug("Page percentage seen updated."),m.pagePercentageSeen=t,g=!0);var r=Math.ceil(e/(m.pHeight-m.vHeight)*100);r>100&&(r=100),r>m.belowTheFoldSeen&&(i.debug("Bellow the fold percentage seen updated."),m.belowTheFoldSeen=r,g=!0)}function k(){m.ippMissclicks++,g=!0}function E(e){i.debug("Click tracked"),m.totalClicks++;var t=e.target,r=null;do{null!==r&&""!==r||(r=C(t)),t=t.parentElement}while(t&&"body"!==t.nodeName.toLowerCase()&&"document"!==t.nodeName.toLowerCase());null===r&&(r="idle"),m.clicksByType[r]++,g=!0}function C(e){var t=null;return-1!==["a","video","button","input","textarea","img","select"].indexOf(e.nodeName.toLowerCase())&&("a"===(t=e.nodeName.toLowerCase())?t="link":"textarea"!==t&&"select"!==t||(t="input")),t}function S(){i.debug("Impression tracked"),m.eventImps++}function x(){i.debug("Retry tracked!"),m.retryCounts++}function I(){var e="//usrpubtrk.com/ut/hb.php?cb="+Math.random();return e+="&v=1",i.debug("Target Url: "+e.toString()),e}function R(e=!1){if(!h){if(h=!0,v(),e&&(m.lastevent=1),i.isDebugEnabled&&i.debug("send payload:",JSON.parse(JSON.stringify(m))),"navigator"in window&&"sendBeacon"in window.navigator&&void 0!==navigator.sendBeacon&&void 0!==Blob){m.sentTimestamp=Date.now();var t=new Blob([JSON.stringify(m)],{type:"text/plain; charset=UTF-8"});navigator.sendBeacon(I(),t)}else{var r="XMLHttpRequest"in window?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");r.open("POST",I(),!0),r.setRequestHeader("Content-Type","text/plain;charset=UTF-8");try{m.sentTimestamp=Date.now(),r.send(JSON.stringify(m))}catch(e){}}m.lastevent=0,h=!1}}function N(){i.debug("visibility state is",document.visibilityState),"hidden"===document.visibilityState&&g?(clearInterval(n),R(),g=!1):"visible"===document.visibilityState&&(n=setInterval(O,6e4))}function L(){var e=new CustomEvent(r,{detail:{issued:"UT",data:{utsid:f}}});document.dispatchEvent(e)}function O(){if(m.sessionLength=vt()-b,m.sessionLength>=7200)return i.debug("Session limit reached! Send last payload and tear down"),R(),clearInterval(n),i.debug("detaching behavior listeners"),document.removeEventListener("click",E,!1),document.removeEventListener("mousemove",w,!1),document.removeEventListener("scroll",A,!1),document.removeEventListener("in-page-missclick",k,!1),document.removeEventListener("impression-event",S,!1),document.removeEventListener("impression-retry-event",x,!1),document.removeEventListener("touchend",T,!1),document.removeEventListener("touchmove",y,!1),document.removeEventListener("touchcancel",A,!1),document.removeEventListener("visibilitychange",N),void window.removeEventListener("beforeunload",R);0!==c&&1!==c&&5!==c&&10!==c&&c%30!=0||R(),c++}!async function e(){if("complete"===document.readyState||"interactive"===document.readyState)return m.clientHints=await s(i,true),m.browsingTopics=await async function(){let e=[];if("browsingTopics"in document&&document.featurePolicy.allowsFeature("browsing-topics"))try{e=await document.browsingTopics(),i.debug("document.browsingTopics() return value:",e)}catch(e){i.debug("Error calling document.browsingTopics(): ",e)}return e}(),"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0?(document.addEventListener("touchend",T,!1),document.addEventListener("touchmove",y,!1),document.addEventListener("touchcancel",A,!1)):(document.addEventListener("mousemove",w,!1),document.addEventListener("scroll",A,!1)),document.addEventListener("click",E,!1),document.addEventListener("impression-event",S,!1),document.addEventListener("impression-retry-event",x,!1),document.addEventListener("in-page-missclick",k,!1),v(),A(),0===c&&O(),n=setInterval(O,6e4),window[r]=f,L(),setTimeout(L,2e4),document.addEventListener("visibilitychange",N),void window.addEventListener("beforeunload",()=>{R(!0)});setTimeout(e,100)}()},wt="sandboxedDetector";class Tt{#i;#he;#ue;#ge=!1;#pe=!1;#me=!1;constructor(e,t,i){this.#i=e,this.#he=t,this.#ue=i}isSandboxed(){return this.#pe}load(){if(this.#ge)return void this.#i.debug("already checked");if(this.#ge=!0,this.#i.debug("load sandbox detector"),!a())return void this.#i.debug("not in iframe. exit");this.#i.debug("iframe detected");const e=this.#ue.getState();if(e&&e.expiresAt>Date.now())return this.#i.debug("previous state present. Expires at:",new Date(e.expiresAt)),e.isSandboxed?(this.#i.debug("sandboxed recently! show overlay"),void(this.#pe=!0)):void this.#i.debug("not sandboxed recently. dont check further");this.#i.debug("attach detector listener to events");const t={zoneId:wt,callback:this.#fe.bind(this)};N||this.#he.subscribe("mousedown",t,!0),this.#he.subscribe("click",t,!0)}#fe(e){if(!e.isTrusted)return void this.#i.debug(`${e.type} on ${e.target.tagName}. Detector skipped: event is not trusted`,e);if(this.#he.isShowingPop)return void this.#i.debug("detector skipped: pop being currently shown");this.#he.isShowingPop=!0,this.#i.debug("detector taking action. prevent other pops from showing");let t=null;try{t=window.open("about:blank","_blank")}catch(e){this.#i.error("detector error",e)}t&&t.close(),null===t&&(this.#i.debug("sandbox detected"),this.#pe=!0),this.#ue.setState({expiresAt:Date.now()+36e5,isSandboxed:this.#pe}),N||this.#he.unsubscribe("mousedown",wt,!0),this.#he.unsubscribe("click",wt,!0),setTimeout(()=>{this.#he.isShowingPop=!1},300)}showSandboxWarningOverlay(){this.#me||(this.#me=!0,this.#i.debug("show sandbox warning overlay"),this.#be())}#ve(){const e=document.createElement("div");e.id="sbxwo",Object.assign(e.style,{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",color:"#fff",zIndex:1e4,display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",padding:"20px",boxSizing:"border-box",textAlign:"center"});const t=document.createElement("div");t.innerHTML="\n
Ad Functionality Blocked
\n
\n It looks like your page is running in a sandbox that blocks certain functionality.\n This setting is preventing our ads from working properly.\n Please disable the sandbox restrictions or adjust your settings.\n
\n To continue playing please remove Sandbox from iframe tab or add "allow-popups" to Sandbox\n
\n ',e.appendChild(t),document.body.appendChild(e)}}const At="x4G9Tq2Kw6R7v1Dy3P0B5N8Lc9M2zF",kt="ZpQw9XkLmN8c3vR3",Et="adblock-settings",Ct=(()=>{let e=document.currentScript;return e||(e=document.getElementById("aclib")),e||(e=document.getElementById("adcash-lib")),e})();let St=null;class xt{#ye;#we={pop:!1,autoTag:!1,inPagePush:!1,interstitial:!1,videoSlider:!1};#Te;#b;#Ae=new Set;#ke=new Set;#i;#Ee=!1;#Ce=!1;#Se;#f="adexchangeclear.com";#T="70.0";#o=null;#xe="aclib";#Ie;#Re=!1;isShowingPop=!1;#C;#Ne=!1;#Le={};#Oe;constructor(e={}){if(St)return St;St=this;let i="aclib";if(e.classes&&(this.#Le=e.classes,i="aclib_adbl"),this.#i=new t(i),this.#Se=(e=>{const t={mousedown:[],click:[],touchstart:[]},i={mousedown:[],scroll:[],click:[],touchstart:[]},r=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} mousedown with capture: in`),t.mousedown.forEach(t=>{e.debug(`${r} mousedown with capture: calling observer`),t.callback(i)})},n=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} mousedown: in`),i.mousedown.forEach(i=>{e.debug(`${r} mousedown: calling observer`),i.callback(t)})},s=i=>{const r=i.currentTarget===window?"win":"doc";e.debug(`${r} click with capture: in`),t.click.forEach(t=>{e.debug(`${r} click with capture: calling observer`),t.callback(i)})},o=t=>{const r=t.currentTarget===window?"win":"doc";e.debug(`${r} click: in`),i.click.forEach(i=>{e.debug(`${r} click: calling observer`),i.callback(t)})},a=e=>{i.scroll.forEach(t=>{t.callback(e)})};return{subscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);n?t[e].push(r):i[e].push(r)},unsubscribe:(e,r,n)=>{if(!t[e]||!i[e])throw new Error(`${e} is not observable!`);if(n)for(let i=0;i{window.addEventListener("mousedown",r,!0),window.addEventListener("mousedown",n,!1),window.addEventListener("click",s,!0),window.addEventListener("click",o,!1),document.addEventListener("mousedown",r,!0),document.addEventListener("mousedown",n),document.addEventListener("click",s,!0),document.addEventListener("click",o),window.addEventListener("scroll",a)},detachListeners:()=>{window.removeEventListener("mousedown",r,!0),window.removeEventListener("mousedown",n,!1),window.removeEventListener("click",s,!0),window.removeEventListener("click",o,!1),document.removeEventListener("mousedown",r,!0),document.removeEventListener("mousedown",n),document.removeEventListener("click",s,!0),document.removeEventListener("click",o),window.removeEventListener("scroll",a)}}})(this.#i),this.#Se.attachListeners(),this.getClientHints(),this.#Ie=d(),this.#C=P(),this.#Oe=new Tt(new t("sd"),St,new he("sndbxchckiborjforqp2")),this.#i.debug("init adcash lib. listeners attached. ready to publish"),this.#i.debug("is mobile device:",N),window[At]&&(this.#o=JSON.parse(JSON.stringify(window[At])),this.#ye=this.#o.cdnDomain,delete window[At]),window[kt]&&(this.#o=JSON.parse(((e,t="xR9tB2pL6q7MwVe")=>[...atob(e)].map((e,i)=>String.fromCharCode(e.charCodeAt(0)^t.charCodeAt(i%t.length))).join(""))(window[kt])),this.#ye=this.#o.cdnDomain,delete window[kt]),this.#o||(this.#ye=new URL(Ct.src).host,Ct.hasAttribute(Et)&&(this.#o=JSON.parse(Ct.getAttribute(Et)),Ct.removeAttribute(Et))),this.#o&&this.#i.debug("adblock settings:",this.#o),Ct.getAttribute("data-preview"))return this.#i.debug("preview mode"),void(this.#Ne=!0);this.#De(),this.#Pe(),this.#Ue(),this.#Oe.load()}isSandboxed(){return this.#Oe.isSandboxed()}showSandboxWarningOverlay(){this.#Oe.showSandboxWarningOverlay()}async getClientHints(e){if(void 0===this.#Te){this.#Te=await s(this.#i,!0);let e="";for(const t in this.#Te)e+=`&${t}=${this.#Te[t]}`;this.#b=e}return e?this.#Te:this.#b}getCdnDomain(){return this.#ye}getSesionRandomString(){return this.#Ie}enableAdbMode(){this.#i.debug("enable adb mode"),this.#Re=!0}isAdbMode(){return this.#Re}subscribe(e,t,i){this.#Se.subscribe(e,t,i)}unsubscribe(e,t,i){this.#Se.unsubscribe(e,t,i)}#Ue(){if(document.body){const e=document.createElement("a");e.style.display="none",e.style.visibility="hidden",e.style.position="relative",e.style.left="-1000px",e.style.top="-1000px";let t=this.#f;return this.#o&&(t=this.#o.adserverDomain),e.href=`${location.protocol}//${t}/ad/visit.php?al=1`,void document.body.appendChild(e)}setTimeout(this.#Ue.bind(this),100)}#Pe(){yt(St)}#De(){if(document.head){let e=new Set([this.#ye,this.#f]);return this.#o&&e.add(this.#o.adserverDomain),e=Array.from(e),this.#i.debug("prefetch domains:",e),void e.forEach(e=>{const t=document.createElement("link");t.rel="dns-prefetch",t.href=`//${e}`,document.head.appendChild(t)})}setTimeout(this.#De.bind(this),100)}getZoneIds(){return Array.from(this.#Ae)}runPop(e){const{zoneId:t,delay:i,targetElementsCssSelector:r,triggerOnTargetElementsClick:n,targetCountries:s,triggerOnTargetCountries:o,sub1:a,sub2:l,publisherUrl:d,storeUrl:c,c1:h,c2:u,c3:g,pubHash:p,pubClickId:m,pubValue:f,fallbackOn:b,isAutoTag:v,collectiveZoneId:y,aggressivity:w,recordPageView:T,linkedZoneId:A,abTest:k,tagVersionSuffix:E}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r){if(!ft(r))throw new Error("targetElementsCssSelector is not a string");if(!(e=>{try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0})(r))throw new Error("targetElementsCssSelector is not a valid css selector");if(!pt(n))throw new Error("triggerOnTargetElementsClick is not a boolean")}if(void 0!==s){if(!(e=>{if(!Array.isArray(e))return!1;if(0===e.length)return!1;for(let t=0;t{window.PopUnder&&(this.#Ae.add(C.zoneId),new PopUnder(C),clearInterval(e))},100)}else{this.#i.debug("loading suv5 script on page"),this.#Ee=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/suv5.js`,e.onload=()=>{this.#we.pop=!0,this.#Ee=!1,v?this.#Ae.add(y):this.#Ae.add(C.zoneId),new PopUnder(C)},e.onerror=()=>{this.#we.pop=!1,this.#Ee=!1,this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runInPagePush(e){if(this.#we.inPagePush)return void this.#i.error("in-page push zone already loaded on page");this.#we.inPagePush=!0;const{zoneId:t,delay:i,maxAds:r,renderPosDesktop:n,renderPosMobile:s,offsetTop:o,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p}=e;let{refreshRate:m}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==m&&(!mt(m)||m<0))throw new Error("refreshRate is not an integer or is less than zero");if(void 0!==i&&(!mt(i)||i<0))throw new Error("delay is not an integer or is less than zero");if(void 0!==r&&(!mt(r)||r<1))throw new Error("maxAds is not an integer or is less than one");if(void 0!==n&&!bt(n))throw new Error("renderPosDesktop is not valid");if(void 0!==s&&!bt(s))throw new Error("renderPosMobile is not valid");if(void 0!==o&&(!mt(o)||o<0))throw new Error("offsetTop is not an integer or is less than zero");this.#i.debug("loading in-page push on page"),l?this.#Ae.add(d):this.#Ae.add(t),void 0!==m&&m>0&&m<10&&(m<5?m*=60:m=30),this.#i.debug("ipp rr set to",m);const f={zoneId:t,refreshRate:m??60,delay:i??0,maxAds:r??1,renderPosDesktop:n??"top",renderPosMobile:s??"top",offsetTop:o??0,sub1:a,isAutoTag:l,collectiveZoneId:d,linkedZoneId:c,aggressivity:h,recordPageView:u,abTest:g,tagVersionSuffix:p,adserverDomain:this.#f,adblockSettings:this.#o,adcashGlobalName:this.#xe,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.InPagePush)return f.isLoadedAsPartOfLibrary=!0,void new this.#Le.InPagePush(f);if(window.InPagePush)new window.InPagePush(f);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/inpagepush.js`,e.setAttribute("nipp","1"),e.onload=()=>{new window.InPagePush(f)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}runBanner(e){const{zoneId:t,width:i,height:r,renderIn:n,sub1:s,currentScript:o}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");if(void 0!==i&&!mt(i))throw new Error("Banner width is not an integer");if(void 0!==r&&!mt(r))throw new Error("Banner height is not an integer");let a;this.#i.debug("loading banner on page",t),n||(document.currentScript&&document.currentScript.parentElement&&(a=document.currentScript.parentElement),o&&(a=o.parentElement));const l={zoneId:t,width:i,height:r,renderIn:n,currentElement:a,sub1:s,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,adblockSettings:this.#o};if(this.#Le.Banner)new this.#Le.Banner(l);else if(this.#we.banner||this.#Ce){if(window.Banner)return this.#Ae.add(l.zoneId),void new Banner(l);const e=setInterval(()=>{window.Banner&&(this.#Ae.add(l.zoneId),new Banner(l),clearInterval(e))},100)}else{this.#Ce=!0;const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/banner.js`,e.onload=()=>{this.#we.banner=!0,this.#Ce=!1,this.#Ae.add(l.zoneId),new Banner(l)},e.onerror=()=>{this.#we.banner=!1,this.#Ce=!1,this.#i.error(`failed loading ${e.src}`)},e.setAttribute("data-adel","ban"),e.setAttribute("a-lib","1"),document.head.appendChild(e)}}runInterstitial(e){if(this.#we.interstitial)return void this.#i.error("interstitial zone already loaded on page");this.#we.interstitial=!0;const{zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");this.#i.debug("loading interstitial on page");const c={zoneId:t,sub1:i,isAutoTag:r,collectiveZoneId:n,linkedZoneId:s,aggressivity:o,recordPageView:a,abTest:l,tagVersionSuffix:d,adcashGlobalName:this.#xe,adserverDomain:this.#f,adblockSettings:this.#o,uniqueFingerprint:this.#C,isLoadedAsPartOfLibrary:!1};if(this.#Ae.add(t),this.#Le.Interstitial)return c.isLoadedAsPartOfLibrary=!0,void new this.#Le.Interstitial(c);if(window.Interstitial)new Interstitial(c);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${location.protocol}//${this.#ye}/script/interstitial.js`,e.setAttribute("a-lib","1"),e.onload=()=>{new Interstitial(c)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}async#$e(e,t=!0){this.#i.debug("fetch collective zone config");let i=`${window.location.protocol}//${this.#f}/ad/czcf.php`;if(this.isAdbMode()){const e=`/${O("abcdefgh0123456789")}`;i=`${window.location.protocol}//${this.#o.adserverDomain}${e}`}i+=`?cz=${e}`,i+=`&atv=${this.#T}`;const r=await this.getClientHints();let n;r&&(i+=r),this.isAdbMode()&&(i+="&sadbl=2",i+="&fmt=atg",i=D(i)),this.#i.debug("collective zone config url: ",i);try{n=await fetch(i)}catch(i){return this.#i.error(i),this.#o&&t?(this.#i.debug("collective zone config fetch failed: try alt domain and path"),this.enableAdbMode(),this.#$e(e,!1)):null}return 200!==n.status?null:(n=await n.json(),V(n))}async runAutoTag(e){if(this.#we.autoTag)return void this.#i.error("autotag zone already loaded on page");this.#we.autoTag=!0;const t=e.zoneId;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const i=await this.#$e(t);if(!i)return void this.#i.error(`failed to fetch collective zone config! czid: ${t}`);if(this.#i.debug("collective zone config:",i),!i.rotationList){this.#i.debug("running in NORMAL MODE (no rotation)");const r=i.indexedFormats;let n=!0;for(const s in r){switch(s){case"suv4":case"pop":this.runPop({zoneId:r[s].zoneId.toString(),targetElementsCssSelector:r[s]["element-list"],triggerOnTargetElementsClick:"allow"===r[s]["element-action"],targetCountries:r[s]["country-list"],triggerOnTargetCountries:"allow"===r[s]["country-action"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"interstitial":this.runInterstitial({zoneId:r[s].zoneId.toString(),isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;case"ippg":this.runInPagePush({zoneId:r[s].zoneId.toString(),refreshRate:r[s].rr,delay:r[s].d,maxAds:r[s].mads,renderPosDesktop:r[s]["render-pos-desktop"],renderPosMobile:r[s]["render-pos-mobile"],offsetTop:r[s]["offset-top"],isAutoTag:!0,collectiveZoneId:t,aggressivity:i.aggressivity,abTest:i.ab_test,recordPageView:n,tagVersionSuffix:e.tagVersionSuffix});break;default:this.#i.error(`ad format type not recognised from collective zone config. adformat.type: ${s}; czid: ${t}`)}n=!1}return}this.#i.debug("running in ROTATION MODE (rotation present)");const r={adcashGlobalName:this.#xe,collectiveZoneConfig:i,adserverDomain:this.#f,adblockSettings:this.#o,clientHintsQueryStr:this.#b,tagVersionSuffix:e.tagVersionSuffix,isLoadedAsPartOfLibrary:!1,uniqueFingerprint:this.#C};if(this.#Le.AutoTagRotation)return this.#Ae.add(t),r.isLoadedAsPartOfLibrary=!0,void new this.#Le.AutoTagRotation(r);this.#i.debug("loading autotag rotation script on page");const n=document.createElement("script");n.type="text/javascript",n.src=`${location.protocol}//${this.#ye}/script/atagv2.js`,n.onload=()=>{this.#Ae.add(t),new ue(r)},n.onerror=()=>{this.#i.error(`failed loading ${n.src}`)},document.head.appendChild(n)}runVideoSlider(e){if(this.#we.videoSlider)return void this.#i.error("videoslider zone already loaded on page");this.#we.videoSlider=!0;const{zoneId:t,sub1:i,vastXml:r,linkedZoneId:n}=e;if(!t)throw new Error("mandatory zoneId is not provided!");if(!ft(t))throw new Error("zoneId is not a string!");const s={zoneId:t,sub1:i,adserverDomain:this.#f,adcashGlobalName:this.#xe,uniqueFingerprint:this.#C,isPreviewMode:this.#Ne,vastXml:r,linkedZoneId:n,adblockSettings:this.#o};if(this.#Le.VideoSlider)return s.isLoadedAsPartOfLibrary=!0,void new this.#Le.VideoSlider(s);if(window.VideoSlider)new VideoSlider(s);else{const e=document.createElement("script");e.type="text/javascript",e.src=`${window.location.protocol}//${this.#ye}/script/videoSliderAlt.js`,e.onload=()=>{this.#Ae.add(t),new VideoSlider(s)},e.onerror=()=>{this.#i.error(`failed loading ${e.src}`)},document.head.appendChild(e)}}}const It=new t("aclib_adblock_index");window.Adcash?It.debug("lib already on page. exit"):(It.debug("load lib on page"),((e={})=>{const t={aclib:new xt(e),Adcash:xt,AtcshAltNm:xt};Object.keys(t).forEach(e=>{Object.defineProperty(window,e,{value:t[e]})})})({classes:{AutoTagRotation:ue,PopUnder:class{#s;#y=null;#t={};#L=!1;#Ve=!1;#Me=!1;#Fe=!1;#O;#v=!1;#R=!0;#i;#T="70.0";#D=null;#qe=12;#k=!1;constructor(e){this.#i=new t(`suv5_${e.zoneId}`),this.#s=window[e.adcashGlobalName],e.tagVersionSuffix&&(this.#T+=e.tagVersionSuffix),this.#i.debug("tag version:",this.#T),this.#i.debug("init pop with config:",e),this.#t=e,this.elementTargeting=new me(this.#t.targetElementsCssSelector,this.#t.triggerOnTargetElementsClick,this.#t.zoneId),!N||this.elementTargeting.isPresent()||this.#t.linkedZoneId||(this.#R=!1),this.#i.debug("useCapture:",this.#R),this.overlays=new pe(this.elementTargeting,this.#P.bind(this),this.#ze.bind(this),this.#i,this.#t.zoneId,this.#R),this.#V(),this.localStorage=new he(`suv5_${e.zoneId}_state`);const i=this.localStorage.getState();i&&i.adbExpiresAt>Date.now()&&this.#s.enableAdbMode();const r=Date.now();if(i&&i.renderAfterTimestamp>r){const e=i.renderAfterTimestamp-r;this.#i.debug(`previous state present. bid after ${e/1e3} sec`),setTimeout(this.#Be.bind(this),e)}else this.#Be()}async#S(){const e=await this.#s.getClientHints(!1);let t=`${window.location.protocol}//${this.#t.adserverDomain}/script/suurl5.php`;if(this.#t.adblockSettings&&this.#s.isAdbMode()){const{adserverDomain:e}=this.#t.adblockSettings,i=`/${O("abcdefgh0123456789")}`;t=`${window.location.protocol}//${e}${i}`}if(t+=`?r=${this.#t.zoneId}`,this.#v&&(t+="&rbd=1"),this.#t.targetCountries){const e=this.#t.targetCountries.join(",");this.#t.triggerOnTargetCountries?t+="&allowed_countries="+encodeURIComponent(e):t+="&excluded_countries="+encodeURIComponent(e)}return t=t+e+"&cbur="+Math.random()+"&cbiframe="+a()+"&cbWidth="+c()+"&cbHeight="+h()+"&cbtitle="+encodeURIComponent(u())+"&cbpage="+encodeURIComponent(o())+"&cbref="+encodeURIComponent(g())+"&cbdescription="+encodeURIComponent(p("description"))+"&cbkeywords="+encodeURIComponent(p("keywords"))+"&cbcdn="+encodeURIComponent(this.#s.getCdnDomain())+"&ufp="+encodeURIComponent(this.#t.uniqueFingerprint)+"&ts="+Date.now()+"&srs="+this.#s.getSesionRandomString()+"&atv="+this.#T,this.#t.sub1&&(t+=`&sub1=${encodeURIComponent(this.#t.sub1)}`),this.#t.sub2&&(t+=`&sub2=${encodeURIComponent(this.#t.sub2)}`),this.#t.publisherUrl&&(t+=`&pu=${encodeURIComponent(this.#t.publisherUrl)}`),this.#t.storeUrl&&(t+=`&storeurl=${encodeURIComponent(this.#t.storeUrl)}`),this.#t.c1&&(t+=`&c1=${encodeURIComponent(this.#t.c1)}`),this.#t.c2&&(t+=`&c2=${encodeURIComponent(this.#t.c2)}`),this.#t.c3&&(t+=`&c3=${encodeURIComponent(this.#t.c3)}`),this.#t.pubHash&&(t+=`&pub_hash=${encodeURIComponent(this.#t.pubHash)}`),this.#t.pubClickId&&(t+=`&pub_clickid=${encodeURIComponent(this.#t.pubClickId)}`),this.#t.pubValue&&(t+=`&pub_value=${encodeURIComponent(this.#t.pubValue)}`),this.#t.fallbackOn&&(t+=`&fallbackon=${encodeURIComponent(this.#t.fallbackOn)}`),this.#t.adblockSettings&&(t+="&abtg=1"),this.#t.isAutoTag&&(t+="&atag=1"),this.#t.aggressivity&&(t+=`&aggr=${this.#t.aggressivity}`),this.#t.collectiveZoneId&&(t+=`&czid=${this.#t.collectiveZoneId}`),this.#t.recordPageView&&(t+="&ppv=1"),this.#t.linkedZoneId&&(t+=`&pblcz=${this.#t.linkedZoneId}`),this.#t.abTest&&(t+=`&ab_test=${this.#t.abTest}`),this.#t.adblockSettings&&this.#t.adblockSettings.adbVersion&&(t+=`&adbv=${this.#t.adblockSettings.adbVersion}`),this.#s.isSandboxed()&&(t+="&sbx=1"),this.#t.adblockSettings&&this.#s.isAdbMode()?(t+="&sadbl=2",t+="&fmt=suv5",this.#i.debug(`bid url: ${t}`),D(t)):(this.#i.debug(`bid url: ${t}`),t)}#$(e){try{let t=this.#D?this.#D(""):window.open("");return t.document.open(),t.document.writeln('
Warning! Do NOT Download Without a VPN!
Your IP Address is . Location is Planet Earth
Your Internet Provider and Government can track your download activities! Hide your IP ADDRESS with a VPN!
We strongly recommend using a VPN service to anonymize your torrent downloads. It's FREE!
Learn everything about Docker and Kubernetes in step by step manner by implementing it with SpringBoot and Minikube
What you'll learn:
You will know learn about Docker and Its Working
You will learn about Kubernetes and its Architecture
You will learn to create a SpringBoot and Implement Rest API
You will learn to Dockerize SpringBoot Application
You will learn to work with Minikube Single Node Kubernetes Cluster
You will learn to create Deployment and Service Object and deploy to Kubernetes cluster with command line
Requirements
Basics of Java
Description
In this course, you will learn everything about Docker and Kubernetes in step by step manner by implementing it with SpringBoot and Minikube.
We will learn about the Architecture/working of docker and its components.
We will also talk about some of the best practices that should be followed while using Kubernetes.
Then we will move on to understand the different deployment strategies that we have been following and what are the limitations of those approaches.
Why containerization is the best deployment strategy available now.
Why we need Kubernetes.
What problem does Kubernetes solves.
2-What is Container, Docker, Container Deployment and Challenges
3-What is Kubernetes
4-Kubernetes cluster and concept of Node
5-Overview of Worker and Master Node and What is Namespaces
6-Worker Node, Kubelet, POD, Container
7-Master Node component - API Server
8-Master Node component - Controller Manager and its types
8-Master Node component - Scheduler
9-Master Node component - etcd key value store
10-Kubernetes Virtual Internal Network
11-Deep Dive into POD and Service component
12-Replica and ReplicaSets
13-What is Deployment, how deployment works What is, Kubectl, Helm chart
14-Options available for running Kubernetes cluster - Minikube, Azure Kubernetes Service, Elastic Kubernetes Service, Google Kubernetes Service
15-Different Types of Service
1-What is minikube and downloading the softwares
2-Installing and Starting Minikube
3-Verifying Minikube Cluster Installation with Kubectl commands
4-Generating Springboot Project from Spring Initializer
5-Importing Springboot Project To Intellij
6-Creatin Hello World Controller
7-Creating the Dockerfile for our Springboot App
8-Allowing Kubernetes to have access to local docker image and Building our image locally
9-Creating Deployment, Accessing Deployment details, Getting Pod info and Pod ogs
10-Creating a NodePort service on our deployment and exposing it and Accessing Kubernetes Dashboard
11-Accessing the Springboot App running inside PodWho this course is for:Anyone who wants to learn about docker and kubernetes and apply it in their work
Who this course is for
Anyone who wants to learn about docker and kubernetes and apply it in their work
If You Need More Stuff, kindly Visit and Support Us -->> https://CourseWikia.com
Get More Tutorials and Support Us -->> https://FreeCourseWeb.com
We upload these learning materials for the people from all over the world, who have the talent and motivation to sharpen their skills/ knowledge but do not have the financial support to afford the materials. If you like this content and if you are truly in a position that you can actually buy the materials, then Please, we repeat, Please, Support Authors. They Deserve it! Because always remember, without "Them", you and we won't be here having this conversation. Think about it! Peace...
~Get Your Files Here !/1. Introduction & Installation Setup/1. Course Introduction.mp4
12.8 MB
~Get Your Files Here !/1. Introduction & Installation Setup/2. Installing Java Intellij Maven Postman SpringInitializer.mp4
40.5 MB
~Get Your Files Here !/1. Introduction & Installation Setup/3. Installing-Docker-Desktop.mp4
22.6 MB
~Get Your Files Here !/2. All About Docker/1. Why Docker.mp4
31 MB
~Get Your Files Here !/2. All About Docker/2. What is Docker.mp4
22.1 MB
~Get Your Files Here !/2. All About Docker/3. Benefits of using Docker.mp4
27.3 MB
~Get Your Files Here !/2. All About Docker/4. Docker working workflow.mp4
78.5 MB
~Get Your Files Here !/3. All About Kubernetes/1. What is Traditional and Virtualized mode of Application Deployment.mp4
43.1 MB
~Get Your Files Here !/3. All About Kubernetes/10. Master Node component - etcd key value store.mp4
36.2 MB
~Get Your Files Here !/3. All About Kubernetes/11. Kubernetes Virtual Internal Network.mp4
12.2 MB
~Get Your Files Here !/3. All About Kubernetes/12. Deep Dive into POD and Service component.mp4
85.8 MB
~Get Your Files Here !/3. All About Kubernetes/13. Replica and ReplicaSets.mp4
16.4 MB
~Get Your Files Here !/3. All About Kubernetes/14. What is Deployment, how deployment works What is, Kubectl, Helm chart.mp4
44 MB
~Get Your Files Here !/3. All About Kubernetes/15. Options available for running Kubernetes cluster - Minikube, AKS, EKS, GKS.mp4
28.7 MB
~Get Your Files Here !/3. All About Kubernetes/16. Different Types of Service.mp4
30.5 MB
~Get Your Files Here !/3. All About Kubernetes/2. What is Container, Docker, Container Deployment and Challenges.mp4
93.2 MB
~Get Your Files Here !/3. All About Kubernetes/3. What is Kubernetes.mp4
38.1 MB
~Get Your Files Here !/3. All About Kubernetes/4. Kubernetes cluster and concept of Node.mp4
28.4 MB
~Get Your Files Here !/3. All About Kubernetes/5. Overview of Worker and Master Node and What is Namespaces.mp4
40.1 MB
~Get Your Files Here !/3. All About Kubernetes/6. Worker Node, Kubelet, POD, Container.mp4
60 MB
~Get Your Files Here !/3. All About Kubernetes/7. Master Node component - API Server.mp4
38.9 MB
~Get Your Files Here !/3. All About Kubernetes/8. Master Node component - Controller Manager and its types.mp4
59.5 MB
~Get Your Files Here !/3. All About Kubernetes/9. Master Node component - Scheduler.mp4
36.1 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/1. What is minikube and downloading the softwares.mp4
22.1 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/10. Creating a NodePort service and exposing it and Accessing Kubernetes Dashboard.mp4
71.1 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/11. Accessing the Springboot App running inside Pod.mp4
13.4 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/12. Understanding Deployment object with Yaml and How to execute it on K8S Cluster.mp4
45.9 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/13. Understanding Service object with Yaml and How to execute it on K8S Cluster.mp4
49 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/14. Creating Deployment and Service YAML files for SpringBoot App and Commands.mp4
35.9 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/2. Installing and Starting Minikube.mp4
24.6 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/3. Verifying Minikube Cluster Installation with Kubectl commands.mp4
29 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/4. Generating Springboot Project from Spring Initializer.mp4
11 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/5. Importing Springboot Project To Intellij.mp4
7.2 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/6. Creating Hello World Controller.mp4
25.7 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/7. Creating the Dockerfile for our Springboot App.mp4
33.6 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/8. Allowing Kubernetes to have access to local docker image and Building our image.mp4
49.7 MB
~Get Your Files Here !/4. Develop and Deploy Springboot to Kubernetes Cluster using Minikube/9. Creating Deployment, Accessing Deployment details, Getting Pod info.mp4
71.2 MB
~Get Your Files Here !/Bonus Resources.txt
386 B
Alternative Torrents for 'Udemy Develop and Deploy Java Springboot App Kubernetes Cluster'.