(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{2458:function(t,e,n){"use strict";n.r(e),n.d(e,"DomainsChecker",(function(){return c}));const o=()=>Math.floor(65536*(1+Math.random())).toString(16).substring(1);var r=(t,e,n)=>new Promise(((o,r)=>{var c=t=>{try{d(n.next(t))}catch(t){r(t)}},h=t=>{try{d(n.throw(t))}catch(t){r(t)}},d=t=>t.done?o(t.value):Promise.resolve(t.value).then(c,h);d((n=n.apply(t,e)).next())}));class c{constructor(t,e){this.index=0,this.domains=[],this.status=[],this.timeouts={},this.checkIsForceRedirectOff=t=>!1,this.startDomainsPing=()=>{setTimeout((()=>{this.timeouts.between=setInterval((()=>{this.ping(this.index),this.index++}),2e4)}),6e3)},this.httpClient=t,this.cookies=e}init(){return r(this,null,(function*(){if(this.cookies.get("che_g")||this.setGUID(),this.checkIsForceRedirectOff(this.cookies.get("force_redirect_off")))return;const{data:data}=yield this.httpClient.getRequest(`${document.location.origin}/checker/redirect/stat/run/`);(null==data?void 0:data.domains)&&(this.domains=data.domains,this.startDomainsPing())}))}setGUID(){this.cookies.set("che_g",`${o()}${o()}-${o()}-${o()}-${o()}-${o()}${o()}${o()}`,{expires:new Date(Date.now()+2592e6),path:"/"})}ping(t){t>this.domains.length-1?this.timeouts.between&&clearInterval(this.timeouts.between):(this.timeouts.ping=setTimeout((()=>r(this,null,(function*(){this.status[t]=2;const e=this.domains[t];e&&(yield this.send({domain:e.d,index:e.n,status:2}))}))),5e3),this.sendToServiceWorker("generatePixelRequest",{index:t,domain:this.domains[t]}))}sendMessageToServiceWorker(t,e,data){const n=null!=data?data:{},o=new MessageChannel;o.port1.onmessage=t=>r(this,null,(function*(){const{status:e,index:n}=t.data;yield this.prepareSend(n,e?1:3)})),t.postMessage({action:e,data:n},[o.port2])}sendToServiceWorker(t,data){return r(this,null,(function*(){const{controller:e}=navigator.serviceWorker;e?this.sendMessageToServiceWorker(e,t,data):navigator.serviceWorker.addEventListener("controllerchange",(()=>{const e=navigator.serviceWorker.controller;e&&this.sendMessageToServiceWorker(e,t,data)}))}))}prepareSend(t,e){return r(this,null,(function*(){const n=this.domains[t];!this.status[t]&&n&&(this.timeouts.ping&&clearTimeout(this.timeouts.ping),this.status[t]=e,yield this.send({domain:n.d,index:n.n,status:e}))}))}send(t){return r(this,null,(function*(){var e;this.cookies.set("che_i",String(t.index-Number(null!=(e=this.cookies.get("che_r"))?e:0)+1),{expires:new Date(Date.now()+2592e6),path:"/"}),yield this.httpClient.postRequest(`${document.location.origin}/checker/redirect/stat/`,{params:{domain:t.domain,status:t.status,index:t.index}})}))}}}}]);