PageSourceSearch

https://iampho.ru/var/cache/asset20_617fcede0f97cee457af0fbbffa6cf1b.js

js iampho.ru collected 2026-10-07 18:09:26 UTC 60,227 bytes, 554 lines download raw bytes

1(function(){function parseMask(maskStr){const tokens=[];let i=0;while(i<maskStr.length){const ch=maskStr[i];if(ch==='{'){const end=maskStr.indexOf('}',i);if(end!==-1){const value=maskStr.slice(i+1,end);tokens.push({type:'fixed',value:value,digits:value.replace(/\D/g,''),});i=end+1;continue}}
2if(ch==='0'){tokens.push({type:'digit'})}else{tokens.push({type:'literal',char:ch})}
3i++}
4return tokens}
5function conform(rawValue,tokens){const digits=(rawValue||'').replace(/\D/g,'');if(!digits.length){return''}
6let result='';let idx=0;let lastSig=-1;for(let t=0;t<tokens.length;t++){const token=tokens[t];if(token.type==='literal'){result+=token.char;continue}
7if(token.type==='fixed'){if(token.digits){const slice=digits.substr(idx,token.digits.length);if(slice===token.digits){idx+=token.digits.length}else if(slice.length&&token.digits.indexOf(slice)===0){idx+=slice.length}}
8result+=token.value;lastSig=result.length-1;continue}
9if(idx<digits.length){result+=digits[idx++];lastSig=result.length-1}else{break}}
10return result.slice(0,lastSig+1)}
11window.IMask=function(input,options){const tokens=parseMask(options.mask);let inApply=!1;function apply(){if(inApply)return;inApply=!0;try{const newValue=conform(input.value,tokens);if(input.value!==newValue){input.value=newValue}}finally{inApply=!1}}
12input.addEventListener('input',apply);return{get value(){return input.value},set value(v){const newValue=conform(v,tokens);if(input.value!==newValue){input.value=newValue}},updateValue:apply,}}})();app.authHeaderComponent={props:['title','subtitle','codeMode'],computed:{isVoiceCall(){return this.codeMode==='voiceCode'}},methods:{onSubClick(e){if(e.target.nodeName==='B'){this.$emit('linkClicked')}}},template:`
13
14    <div class="ahead" 
15         :class="{'ahead--voiceCall': isVoiceCall}">
16
17        <div class="ahead__title">{{title}}</div>
18
19        <div v-if="isVoiceCall" class="ahead__voiceCall">
20            <svg class="ahead__voiceCallIco" width="39" height="37" viewB
20ox="0 0 39 37" fill="none" xmlns="http://www.w3.org/2000/svg">
21                <path d="M31.634 6.90242C29.495 4.70643 26.6201 3.28267 23.6155 3.03209C23.0293 2.9835 22.6344 2.86732 22.4309 2.68356C21.6336 1.96143 21.7384 0.733598 22.5972 0.211937C22.9298 0.00843528 23.456 -0.0485147 24.1758 0.0410866C27.8708 0.505798 31.2194 2.12545 33.8095 4.78387C36.3973 7.4423 37.9304 10.832 38.2949 14.5383C38.3663 15.2596 38.2956 15.7843 38.083 16.1124C37.5386 16.9575 36.3085 17.0281 35.6068 16.2126C35.4292 16.0045 35.3236 15.6074 35.2902 15.0212C35.1194 12.0097 33.7731 9.09841 31.634 6.90242Z" fill="currentColor"/>
22                <path d="M13.6023 15.0401C13.7238 15.3651 13.8666 15.6612 14.0306 15.9285C15.6844 18.6211 17.7551 20.8011 20.2427 22.4686C20.7636 22.8194 21.3878 23.1763 22.1152 23.5393C22.1685 23.5657 22.2275 23.5777 22.2863 23.5741C22.3452 23.5705 22.4017 23.5514 22.4501 23.5188C23.0583 23.1065 23.6164 22.4641 24.1518 22.1542C25.8663 21.1656 27.5224 21.0889 29.1201 21.9242C30.3957 22.5893 31.6122 24.1202 32.8013 25.127C33.4862 25.7087 33.9502 26.1658 34.1932 26.4984C35.2122 27.891 35.3914 29.5038 34.7308 31.3369C34.1066 33.0659 32.8309 34.2914 31.3821 35.3097C30.6304 35.8382 29.6562 36.2551 28.4594 36.5603C24.9103 37.4647 21.2906 36.3735 18.1766 34.6559C15.3367 33.0902 12.739 31.1858 10.3835 28.9427C7.54286 26.241 4.94367 23.1543 2.93447 19.735C1.55173 17.3841 0.353499 14.7553 0.0664711 12.065C-0.327623 8.3883 1.03006 4.54304 4.15548 2.33794C6.0895 0.973414 8.57708 0.670443 10.6409 1.87095C11.3319 2.27339 12.1695 3.04867 13.1536 4.19678C14.4156 5.66989 15.162 6.54312 15.3928 6.81648C16.9533 8.6571 17.0239 11.5502 15.2083 13.2974C14.6358 13.8487 14.1286 14.3194 13.6866 14.7097C13.6406 14.75 13.6079 14.8031 13.5928 14.8621C13.5778 14.9212 13.5811 14.9832 13.6023 15.0401ZM25.6621 24.5279C25.3356 24.7907 24.9863 25.0921 24.6142 25.4323C23.3582 26.5774 21.9634 26.7247 20.4295 25.8742C16.7141 23.8149 13.206 20.464 11.174 16.6164C10.5589 15.4524 10.445 13.9922 11.4223 12.9694C12.4907 11.8554 14.7003 10.6207 13.2082 8.65028C12.8362 8.15823 11.8544 7.05188 10.2628 5.33123C9.72974 4.75262 9.32881 4.40256 9.06001 4.28107C7.70916 3.66601 6.55193 4.06238 5.41293 5.09432C0.549407 9.48857 3.86617 16.2337 6.85718 20.4776C10.1375 25.1293 14.3974 29.2115 19.3497 32.0362C20.6641 32.7857 22.015 33.2846 23.5139 33.7197C26.6894 34.6377 30.2181 33.649 31.8992 30.6557C32.1513 30.2077 32.2341 29.6527 32.1475 28.9905C32.1005 28.6382 31.8696 28.257 31.455 27.847C29.4671 25.8788 28.4101 24.843 28.284 24.7398C27.6462 24.2174 26.8694 24.0951 25.9536 24.373C25.8482 24.4061 25.7494 24.4586 25.6621 24.5279Z" fill="currentColor"/>
23                <path d="M26.7133 11.616C25.9175 10.8096 24.9069 10.2925 23.6813 10.0647C23.0799 9.95229 22.7147 9.84219 22.5856 9.73436C21.7928 9.06919 21.7928 7.8983 22.5924 7.33335C22.9827 7.05695 23.5082 6.97874 24.1688 7.09872C25.9798 7.42903 27.5266 8.21949 28.825 9.53845C30.1235 10.8574 30.8889 12.4156 31.1873 14.2311C31.2982 14.8948 31.2124 15.4195 30.9299 15.8052C30.3513 16.5957 29.1804 16.5775 28.5289 15.7733C28.4226 15.6427 28.3185 15.276 28.2168 14.6731C28.0087 13.4429 27.5076 12.4239 26.7133 11.616Z" fill="currentColor"/>
24            </svg>
25            <span class="ahead__voiceCallNum">123 <span class="ahead__voiceCallStars">****</span></span>
26        </div>
27
28        <div class="ahead__sub"
29             v-html="subtitle"
30             @click="onSubClick"></div>
31    </div>
32
33    `};app.authLockIconComponent=(()=>{const FPS=60;const SHACKLE_REST=45.6118;const SHACKLE_CLOSED=46.5391;const SHACKLE_OPEN=36.5391;const SPIN_PER_SECOND=2*Math.PI;const elastic=(amplitude,period)=>{const s=amplitude<1?period/4:period/(2*Math.PI)*Math.asin(1/amplitude);return(t)=>{let a=amplitude;if(amplitude<1&&t<Math.abs(s)){const l=Math.abs(t/s);a=amplitude*l+(1-l)}
34return a*Math.pow(2,-10*t)*Math.sin((t-s)*2*Math.PI/period)+1}};const SHACKLE_EASE=elastic(1,0.24);const RING_EASE=elastic(5.7312,1.4611);const segment=(fromFrame,toFrame,ease)=>(t,a,b)=>{const p=(t*FPS-fromFrame)/(toFrame-fromFrame);if(p<=0)return a;if(p>=1)return b;return a+(b-a)*ease(p)};const CLIPS={open:{duration:70/FPS,shackle:(t)=>segment(10,70,SHACKLE_EASE)(t,SHACKLE_CLOSED,SHACKLE_OPEN),ring:(t)=>segment(10,70,RING_EASE)(t,0,Math.PI),},close:{duration:60/FPS,shackle:(t)=>segment(9,60,SHACKLE_EASE)(t,SHACKLE_OPEN,SHACKLE_CLOSED),ring:(t)=>segment(9,60,RING_EASE)(t,0,-Math.PI),},};return{data(){return{shackleY:SHACKLE_REST,angle:0,}},computed:{shackleTransform(){return `translate(35 ${this.shackleY})`},ringTransform(){return `translate(35 60.72) rotate(${this.angle * 180 / Math.PI})`},},created(){this.spinning=!1;this.clip=null;this.frame=null;this.last=null},beforeDestroy(){this.frame&&cancelAnimationFrame(this.frame)},methods:{spin(){this.spinning=!0;this.wake()},stop(){this.spinning=!1},open(){this.play('open')},close(){this.play('close')},play(name){this.clip={name,t:0,angle:this.angle};this.wake()},wake(){if(!this.frame)this.frame=requestAnimationFrame(this.tick);},tick(now){const dt=this.last===null?0:(now-this.last)/1000;this.last=now;if(this.spinning)this.angle+=SPIN_PER_SECOND*dt;if(this.clip){const clip=CLIPS[this.clip.name];this.clip.t+=dt;this.shackleY=clip.shackle(this.clip.t);this.angle=this.clip.angle+clip.ring(this.clip.t);if(this.clip.t>=clip.duration)this.clip=null}
35if(this.spinning||this.clip){this.frame=requestAnimationFrame(this.tick)}else{this.frame=null;this.last=null}},},template:`
36            <svg viewBox="0 0 70 90" aria-hidden="true">
37                <path :transform="shackleTransform"
38                    fill-rule="evenodd"
39                    d="M9-13V13C9 17.97 4.97 22 0 22C-4.28 22-7.87 19.01-8.78 15H-16.88C-15.89 23.45-8.71 30 0 30C9.39 30 17 22.39 17 13V-13C17-22.39 9.39-30 0-30C-9.39-30-17-22.39-17-13V1H-9V-13C-9-17.97-4.97-22 0-22C4.97-22 9-17.97 9-13Z"/>
40                <circle cx="35" cy="60.13" r="22.52"/>
41                <path transform="translate(35 60.11)"
42                    fill="#fff"
43                    fill-rule="evenodd"
44                    d="M.02-4.5L4.31 4.5H1.27C1.24 3.82.68 3.28 0 3.28C-.68 3.28-1.24 3.82-1.27 4.5H-4.31L-2.92 1.61C-2.68 1.73-2.42 1.79-2.13 1.79C-1.16 1.79-.37.99-.37.01C-.37-.7-.78-1.31-1.38-1.6Z"/>
45                <path :transform="ringTransform"
46                    fill="#fff"
47                    d="M15.43 1.53C15.4 1.8 15.15 2 14.87 1.96L12.89 1.7C12.62 1.67 12.42 1.41 12.45 1.14C12.48 .76 12.5 .38 12.5 0C12.5-.38 12.48-.76 12.45-1.14C12.42-1.41 12.62-1.67 12.89-1.7L14.87-1.96C15.15-2 15.4-1.8 15.43-1.53C15.47-1.03 15.5-.52 15.5 0C15.5.52 15.47 1.03 
4715.43 1.53Z
48                        M14.12-6.39C14.24-6.14 14.12-5.85 13.86-5.74L12.02-4.98C11.76-4.87 11.47-4.99 11.35-5.24C11.03-5.93 10.65-6.59 10.22-7.21C10.06-7.43 10.1-7.74 10.31-7.91L11.9-9.13C12.12-9.3 12.43-9.26 12.6-9.03C13.19-8.21 13.7-7.33 14.12-6.39Z
49                        M9.13-11.9C9.3-12.12 9.26-12.43 9.04-12.6C8.21-13.19 7.33-13.7 6.39-14.12C6.14-14.24 5.85-14.12 5.74-13.86L4.98-12.01C4.87-11.76 4.99-11.47 5.24-11.35C5.93-11.03 6.59-10.65 7.21-10.22C7.43-10.06 7.75-10.1 7.91-10.32Z
50                        M1.53-15.43C1.8-15.4 1.99-15.15 1.96-14.87L1.7-12.89C1.67-12.62 1.41-12.42 1.14-12.45C.77-12.48.39-12.5 0-12.5C-.38-12.5-.77-12.48-1.14-12.45C-1.41-12.42-1.67-12.62-1.7-12.89L-1.96-14.87C-1.99-15.15-1.8-15.4-1.53-15.43C-1.03-15.47-.51-15.5 0-15.5C.52-15.5 1.02-15.47 1.53-15.43Z
51                        M-6.39-14.12C-6.14-14.24-5.85-14.12-5.74-13.86L-4.98-12.01C-4.87-11.76-4.99-11.47-5.24-11.35C-5.93-11.03-6.59-10.65-7.21-10.22C-7.43-10.06-7.74-10.1-7.91-10.32L-9.13-11.9C-9.3-12.12-9.26-12.43-9.03-12.6C-8.21-13.19-7.33-13.7-6.39-14.12Z
52                        M-12.6-9.03C-12.43-9.26-12.12-9.3-11.9-9.13L-10.32-7.91C-10.1-7.74-10.06-7.43-10.22-7.21C-10.65-6.59-11.03-5.93-11.35-5.24C-11.47-4.99-11.76-4.87-12.01-4.98L-13.86-5.74C-14.12-5.85-14.24-6.14-14.12-6.39C-13.7-7.33-13.19-8.21-12.6-9.03Z
53                        M-14.87-1.96C-15.15-2-15.4-1.8-15.43-1.53C-15.47-1.03-15.5-.52-15.5 0C-15.5.52-15.47 1.03-15.43 1.53C-15.4 1.8-15.15 2-14.87 1.96L-12.89 1.7C-12.62 1.67-12.42 1.41-12.45 1.14C-12.48.76-12.5.38-12.5 0C-12.5-.38-12.48-.76-12.45-1.14C-12.42-1.41-12.62-1.67-12.89-1.7Z
54                        M-14.12 6.39C-14.24 6.14-14.12 5.85-13.86 5.74L-12.01 4.98C-11.76 4.87-11.47 4.99-11.35 5.24C-11.03 5.93-10.65 6.59-10.22 7.21C-10.06 7.43-10.1 7.74-10.32 7.91L-11.9 9.13C-12.12 9.3-12.43 9.26-12.6 9.03C-13.19 8.21-13.7 7.33-14.12 6.39Z
55                        M-9.03 12.6C-9.26 12.43-9.3 12.12-9.13 11.9L-7.91 10.32C-7.74 10.1-7.43 10.06-7.21 10.22C-6.59 10.65-5.93 11.03-5.24 11.35C-4.99 11.47-4.87 11.76-4.98 12.01L-5.74 13.86C-5.85 14.12-6.14 14.24-6.39 14.12C-7.33 13.7-8.21 13.19-9.03 12.6Z
56                        M-1.53 15.43C-1.8 15.4-1.99 15.15-1.96 14.87L-1.7 12.89C-1.66 12.62-1.41 12.42-1.14 12.45C-.77 12.48-.38 12.5 0 12.5C.39 12.5.77 12.48 1.14 12.45C1.41 12.42 1.66 12.62 1.7 12.89L1.96 14.87C1.99 15.15 1.8 15.4 1.53 15.43C1.02 15.47.52 15.5 0 15.5C-.51 15.5-1.02 15.47-1.53 15.43Z
57                        M6.39 14.12C6.14 14.24 5.85 14.12 5.74 13.86L4.98 12.01C4.87 11.76 4.99 11.47 5.24 11.35C5.93 11.03 6.59 10.65 7.21 10.22C7.43 10.06 7.75 10.1 7.91 10.32L9.13 11.9C9.3 12.12 9.26 12.43 9.04 12.6C8.21 13.19 7.33 13.7 6.39 14.12Z
58                        M12.6 9.03C12.43 9.26 12.12 9.3 11.9 9.13L10.31 7.91C10.1 7.74 10.06 7.43 10.22 7.21C10.65 6.59 11.03 5.93 11.35 5.24C11.47 4.99 11.76 4.87 12.02 4.98L13.86 5.74C14.12 5.85 14.24 6.14 14.12 6.39C13.7 7.33 13.19 8.21 12.6 9.03Z"/>
59            </svg>
60        `}})();app.authLockComponent={components:{authLockIcon:app.authLockIconComponent,},props:['lockState'],data(){return{initialized:!1,}},watch:{lockState(state){const icon=this.$refs.icon;if(state==='loading'){icon.spin()}else if(state==='idle'){icon.stop()}else if(state==='error'){icon.stop();icon.close()}else if(state==='success'){icon.stop();icon.open()}}},mounted(){requestAnimationFrame(()=>{this.initialized=!0})},template:`
61        <authLockIcon ref="icon"
62            class="authLock"
63            :class="{'authLock--visible': initialized}"/>
64    `};app.authErrorComponent={props:['errorMessage'],data(){return{displayText:''}},watch:{errorMessage(val){clearTimeout(this._timer);clearTimeout(this._hideTimer);if(val){this.displayText=val;this._timer=setTimeout(()=>{this.$emit('dismiss')},3000)}else{this._hideTimer=setTimeout(()=>{this.displayText=''},200)}}},beforeDestroy(){clearTimeout(this._timer);clearTimeout(this._hideTimer)},template:`
65    <div class="authErr" :class="{'authErr--visible': errorMessage}">
66        <svg class="authErr__ico" width="18" height="18" viewBox="0 0 18 18" fill="none">
67            <path d="M7.26795 3C8.03775 1.66666 9.96225 1.66667 10.7321 3L15.0622 10.5C15.832 11.8333 14.8697 13.5 13.3301 13.5H4.66987C3.13027 13.5 2.16802 11.8333 2.93782 10.5L7.26795 3Z" fill="white"/>
68            <rect x="8" y="4" width="2" height="5" rx="1" fill="#ED6060"/>
69            <rect x="8" y="10" width="2" height="2" rx="1" fill="#ED6060"/>
70        </svg>
71        {{displayText}}
72    </div>
73    `};app.authPhoneComponent={props:['value','authMethod','phoneMask','captcha','loc'],data(){return{masked:null,}},computed:{locPhone(){return this.loc['auth/phone']},localValue:{get(){return this.value}
73,set(value){if(this.masked){this.masked.updateValue();this.$emit('input',this.masked.value);return}
74this.$emit('input',value)}}},mounted(){if(this.phoneMask){const code=this.extractFixedPart(this.phoneMask);const maskOptions={mask:this.phoneMask,};this.masked=IMask(this.$refs.authPhoneInput,maskOptions);this.masked.value=this.value||code}},methods:{onKeyDown(e){if(e.which===13){this.$emit('enter')}},onFocus(){this.$refs.authPhoneInput.scrollIntoView({behavior:'smooth',block:'center'})},onPaste(e){if(this.phoneMask){e.preventDefault();const pastedData=e.clipboardData.getData('text/plain');const digitsOnly=pastedData.replace(/\D/g,'');const zeroCount=this.phoneMask.split('0').length-1;if(zeroCount===digitsOnly.length){const extractCountryCode=this.phoneMask.match(/\{(\d+)\}/)[1];this.masked.value=`+${extractCountryCode}${digitsOnly}`}else{this.masked.value=`+${digitsOnly}`}
75this.localValue=this.masked.value}},extractFixedPart(mask){const regex=/{([^}]+)}/;const match=mask.match(regex);return match?match[1]:''}},template:`
76        <label class="authPhone__wrap">
77            <div class="authPhone__title">{{locPhone}}</div>
78            <input class="authPhone__input" 
79                    ref="authPhoneInput"
80                    @paste="onPaste"
81                    @focus="onFocus"
82                    @keydown="onKeyDown"
83                    type="tel" 
84                    v-model="localValue">
85        </label>
86
87    `};app.authCodeComponent={props:['value','codeSent'],data(){return{localValue:this.value,memo:['','','',''],}},watch:{codeSent:function(){this.localValue=''},value:{immediate:!0,handler(newVal){for(let i=0;i<4;i++){if(newVal&&newVal[i]){this.memo[i]=newVal[i]}}}}},computed:{isVisible(){return!!this.codeSent},cells(){const list=[];for(let i=0;i<4;i++){list.push({filled:i<this.value.length,digit:this.memo[i]||'',})}
88return list}},methods:{onInput(){this.$emit('input',this.localValue);if(this.localValue.length>=4){this.$refs.input.blur();this.$emit('entered')}},onFocus(){this.localValue='';this.onInput();this.$emit('focused')},},template:`    
89    
90    <label v-if="isVisible" class="acd__wrap">
91        <div class="acd">
92            <input ref="input"
93                class="acd__input" 
94                type="text" 
95                name="code"
96                v-model="localValue" 
97                @input="onInput" 
98                @focus="onFocus"
99                inputmode="numeric"
100                autocomplete="one-time-code"
101                maxlength="4">
102            
103            <div class="acd__display">
104                <div v-for="cell in cells" 
105                     class="acd__cell" 
106                     :class="{'acd__cell--filled': cell.filled}">
107                    <span class="acd__char acd__char--dot">•</span>
108                    <span class="acd__char acd__char--digit">{{ cell.digit }}</span>
109                </div>
110            </div>
111        </div>
112        
113    </label>
114    
115    `};app.authPolicyComponent={props:['value','text'],data(){return{checked:!!this.value}},methods:{onClick(){this.setValue(!this.checked)},setValue(value){this.checked=value;this.$emit('input',value)},},template:`
116
117    <div class="authPolicy" @click="onClick">
118
119         <div class="authPolicy__checkbox" :class="{'authPolicy__checkbox--checked': checked}">
120
121             <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
122                <path d="M14.838 6.205C14.5644 5.93158 14.1154 5.93168 13.842 6.20523L8.63906 11.4101L6.15805 8.92921C5.88459 8.65576 5.43569 8.65571 5.16216 8.92909L4.19987 9.89087C3.93351 10.1571 3.93336 10.5836 4.19953 10.85L8.14085 14.7947C8.4144 15.0684 8.86374 15.0685 9.13729 14.7947L15.8005 8.12577C16.0666 7.85937 16.0665 7.43289 15.8001 7.16667L14.838 6.205Z" fill="currentColor"/>
123             </svg>
124
125         </div>
126
127         <div class="authPolicy__text">{{ text }}</div>
128    </div>
129
130
131    `};app.authPolicyMain={components:{authPolicyCheckbox:app.authPolicyComponent},props:['loc','isPolicyAccepted'],template:`
132    <authPolicyCheckbox
133        :text="loc['auth/consent']"
134        :value="isPolicyAccepted"
135        @input="$emit('update:isPolicyAccepted', $event)"/>
136    `};app.authCaptchaComponent={props:['captcha','phone','errorMessage'],data(){return{x:0,}},watch:{errorMessage:function(val){if(val){this.x=0}}},mounted(){const handler=this.$refs.handler;this._activePointerId=null;this._lastX=0;this._onMove=(e)=>{if(e.pointerId!==this._activePointerId)return;this.x+=e.clientX-this._lastX;this._lastX=e.clientX};this._onEnd=(e)=>{if(e.pointerId!==this._activePointerId)return;this._unbindDocument();this._activePointerId=null;this.$emit('selected',{x:this.x,icoOffset:30,containerWidth:this.$el.offsetWidth,containerHeight:this.$el.offsetHeight,icoWidth:this.$refs.ico.getBoundingClientRect().width,icoHeight:this.$refs.ico.getBoundingClientRect().height,})};this._unbindDocument=()=>{document.removeEventListener('pointermove',this._onMove);document.removeEventListener('pointerup',this._onEnd);document.removeEventListener('pointercancel',this._onEnd)};handler.addEventListener('pointerdown',(e)=>{if(this._activePointerId!==null)return;this._activePointerId=e.pointerId;this._lastX=e.clientX;document.addEventListener('pointermove',this._onMove);document.addEventListener('pointerup',this._onEnd);document.addEventListener('pointercancel',this._onEnd);this.$emit('started')})},beforeDestroy(){this._unbindDocument()},computed:{handlerStyle(){return{transform:`translate(${this.x}px)`}},backgroundStyle(){const phone=this.phone.replace(/[^0-9]/g,'');return{backgroundImage:`url(${this.captcha.cdnOrigin}?captcha2=${phone}&try=${this.captcha.lastTryNumber})`}}},template:`
137        <div class="captcha" data-no-drag :style="backgroundStyle">
138        
139            <div class="captcha__handler" ref="handler" :style="handlerStyle">
140
141                <svg class="captcha__handlerIco" ref="ico" width="21" height="21" viewBox="0 0 21 21" fill="none">
142                    <path d="M8.5 0C7.119 0 6 1.119 6 2.5V4H2C0.895 4 0 4.895 0 6V10H1.5C2.881 10 4 11.119 4 12.5C4 13.881 2.881 15 1.5 15H0V19C0 20.105 0.895 21 2 21H6V19.5C6 18.119 7.119 17 8.5 17C9.881 17 11 18.119 11 19.5V21H15C16.105 21 17 20.105 17 19V15H18.5C19.881 15 21 13.881 21 12.5C21 11.119 19.881 10 18.5 10H17V6C17 4.895 16.105 4 15 4H11V2.5C11 1.119 9.881 0 8.5 0Z" fill="#7F7F7F"/>
143                </svg>  
144            
145            </div>
146
147        </div>
148        `};app.authTurnstileComponent={components:{commonSpinner:app.commonSpinnerComponent},props:['panelUrl','lang'],data(){return{ready:!1,theme:document.documentElement.classList.contains('html--dark')?'dark':'light'}},computed:{panelOrigin(){try{return new URL(this.panelUrl).origin}catch(e){return''}},iframeSrc(){return this.panelOrigin+'/turnstile/'+'?origin='+encodeURIComponent(location.origin)+'&theme='+this.theme+(this.lang?'&lang='+encodeURIComponent(this.lang):'')}},mounted(){this._onMessage=(e)=>{if(e.origin!==this.panelOrigin)return;const data=e.data||{};if(data.type!=='fpTurnstile')return;if(data.event==='ready'){this.ready=!0}else if(data.event==='token'){this.$emit('token',data.token)}else if(data.event==='expired'||data.event==='error'){this.$emit('expired')}};window.addEventListener('message',this._onMessage)},beforeDestroy(){window.removeEventListener('message',this._onMessage)},template:`
149        <div class="authTurnstile">
150
151            <div v-if="!ready" class="authTurnstile__spinner">
152                <commonSpinner/>
153            </div>
154
155            <iframe :src="iframeSrc"
156                class="authTurnstile__frame"
157                :class="{'authTurnstile__frame--ready': ready}"
158                scrolling="no"></iframe>
159
160        </div>
161    `};app.authFooterButtonComponent={props:['type','active','title','loading','sub','arr','tgIco','whatsappIco','vkIco','maxIco','appleIco','googleIco','yandexIco'],data(){return{submitted:!1,}},computed:{isArrMoving(){return this.loading&&this.submitted}},watch:{loading:function(val){if(!val){this.submitted=!1}}},methods:{onSubmit(){if(this.active&&!this.loading){this.submitted=!0;this.$emit('submit')}}},template:`
162    
163        
164        <div class="abtn" 
165            :class="['abtn--'+type, {'abtn--inactive': !active, 'abtn--active': active}]"
166            v-press
167            @click="onSubmit">
168        
169            <div class="abtn__wrap">
170                <div class="abtn__title">
171                
172                <svg v-if="tgIco" class="abtn__tgIco" width="20" height="17" viewBox="0 0 20 17">
173                    <path d="M1.34765 7.308C7.50195 4.54344 15.4661 1.17287 16.5654 0.706356C19.4492 -0.514671 20.334 -0.280666 19.8928 2.42339C19.576 4.36694 18.6618 10.8016 17.9331 14.8067C17.5007 17.1817 16.5307 17.4632 15.0053 16.4357C14.2718 15.9412 10.5693 13.4411 9.76574 12.8541C9.0322 12.3191 8.02052 11.6756 9.28929 10.4081C9.74077 9.95656 12.7004 7.07099 15.0063 4.82495C15.3084 4.52994 14.9289 4.04543 14.5803 4.28193C11.4723 6.38648 7.16309 9.30754 6.61465 9.68805C5.78611 10.2626 4.99038 10.5261 3.56199 10.1071C2.48273 9.79056 1.42845 9.41305 1.0181 9.26904C-0.562101 8.71503 -0.187006 7.99751 1.34765 7.308Z" fill="currentColor"/>
174                </svg>
175                
176                <svg v-if="whatsappIco" class="abtn__whatsappIco" width="23" height="23" viewBox="0 0 23 23" fill="none">
177                    <path d="M1.08828 11.512C1.0877 13.3648 1.57174 15.1735 2.49196 16.7677L1 22.2151L6.57472 20.7534C8.11074 21.5909 9.84014 22.0324 11.5999 22.0331H11.6044C17.4 22.0331 22.118 17.3166 22.1204 11.5205C22.1214 8.71143 21.0284 6.06998 19.0431 4.08292C17.0576 2.09612 14.4175 1.00116 11.6044 1C5.80787 1 1.09059 5.7158 1.08828 11.512ZM4.40823 16.4932L4.20008 16.1627C3.32506 14.7714 2.86322 13.1636 2.86388 11.5127C2.86569 6.69501 6.7865 2.77544 11.6077 2.77544C13.9425 2.77643 16.1368 3.68659 17.7871 5.33794C19.4374 6.98946 20.3455 9.18483 20.3449 11.5198C20.3428 16.3375 16.4219 20.2575 11.6044 20.2575H11.601C10.0324 20.2567 8.49396 19.8355 7.15232 19.0394L6.83303 18.8501L3.52488 19.7174L4.40823 16.4932Z" fill="white"/>
178                    <path d="M8.97612 7.11735C8.77927 6.67984 8.57211 6.67101 8.38491 6.66334C8.23162 6.65674 8.05639 6.65723 7.88132 6.65723C7.70609 6.65723 7.42137 6.72315 7.18072 6.98592C6.93981 7.24894 6.26099 7.88453 6.26099 9.17725C6.26099 10.47 7.20258 11.7194 7.33384 11.8949C7.46526 12.07 9.1516 14.8077 11.8223 15.861C14.042 16.7362 14.4937 16.5621 14.9754 16.5182C15.4572 16.4745 16.5301 15.8828 16.7489 15.2693C16.968 14.6558 16.968 14.1299 16.9023 14.02C16.8366 13.9105 16.6614 13.8448 16.3986 13.7134C16.1359 13.5821 14.844 12.9463 14.6031 12.8586C14.3622 12.771 14.1871 12.7273 14.0119 12.9904C13.8366 13.2531 13.3334 13.8448 13.1801 14.02C13.0269 14.1957 12.8735 14.2175 12.6108 14.0861C12.3479 13.9543 11.5017 13.6771 10.4977 12.7821C9.71657 12.0856 9.18922 11.2255 9.03593 10.9624C8.88264 10.6997 9.01951 10.5573 9.15127 10.4264C9.26933 10.3087 9.41412 10.1196 9.54563 9.96621C9.67664 9.81276 9.72037 9.70328 9.80798 9.52805C9.89568 9.35265 9.85179 9.19919 9.7862 9.06777C9.72037 8.93634 9.20976 7.63686 8.97612 7.11735Z" fill="white"/>
179                </svg>
180
181                <svg v-if="maxIco" class="abtn__maxIco" width="19" height="19" viewBox="0 0 42 42" fill="none">
182                    <path fill="currentColor" fill-rule="evenodd" d="M21.47 41.88c-4.11 0-6.02-.6-9.34-3-2.1 2.7-8.75 4.81-9.04 1.2 0-2.71-.6-5-1.28-7.5C1 29.5.08 26.07.08 21.1.08 9.23 9.82.3 21.36.3c11.55 0 20.6 9.37 20.6 20.91a20.6 20.6 0 0 1-20.49 20.67Zm.17-31.32c-5.62-.29-10 3.6-10.97 9.7-.8 5.05.62 11.2 1.83 11.52.58.14 2.04-1.04 2.95-1.95a10.4 10.4 0 0 0 5.08 1.81 10.7 10.7 0 0 0 11.19-9.97 10.7 10.7 0 0 0-10.08-11.1Z" clip-rule="evenodd"/>
183                </svg>
184
185                <svg v-if="vkIco" class="abtn__vkIco" width="25" height="14" viewBox="0 0 20 12" fill="none">
186                    <path d="M19.5455 0.748C19.6818 0.308 19.5455 0 18.9091 0H16.7273C16.1818 0 15.9318 0.264 15.7955 0.55C15.7955 0.55 14.6818 3.168 13.1136 4.852C12.6136 5.336 12.3864 5.49 12.1136 5.49C11.9773 5.49 11.7727 5.336 11.7727 4.896V0.748C11.7727 0.22 11.6136 0 11.1591 0H7.77273C7.43182 0 7.22727 0.23 7.22727 0.45C7.22727 0.95 7.97727 1.068 8.05455 2.464V5.578C8.05455 6.248 7.93182 6.37 7.65909 6.37C6.90909 6.37 5.09091 3.742 4.02273 0.792C3.81818 0.218 3.61364 0 3.06818 0H0.886364C0.272727 0 0.136364 0.264 0.136364 0.55C0.136364 1.1 0.840909 3.872 3.56818 7.548C5.38636 10.078 7.97727 11.45 10.3409 11.45C11.7045 11.45 11.8864 11.17 11.8864 10.658V8.75C11.8864 8.156 12.0227 8.024 12.4545 8.024C12.7727 8.024 13.3182 8.178 14.5909 9.378C16.0455 10.798 16.2955 11.45 17.1136 11.45H19.2955C19.9091 11.45 20.2273 11.17 20.0455 10.614C19.8409 10.06 19.1591 9.244 18.2727 8.266C17.7727 7.694 17.0227 7.078 16.7955 6.77C16.4773 6.374 16.5682 6.198 16.7955 5.846C16.7955 5.846 19.4773 2.214 19.7500 0.95C19.8636 0.572 19.6818 0.308 19.5455 0.748Z" fill="white"/>
187                </svg>
188
189                <svg v-if="appleIco" class="abtn__appleIco" width="19" height="25" viewBox="0 0 384 512" fill="none">
190                    <path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" fill="currentColor"/>
191                </svg>
192
193                <svg v-if="googleIco" class="abtn__googleIco" width="19" height="19" viewBox="0 0 48 48" fill="none">
194                    <path d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" fill="#EA4335"/>
195                    <path d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" fill="#4285F4"/>
196                    <path d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" fill="#FBBC05"/>
197                    <path d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" fill="#34A853"/>
198                </svg>
199
200                <svg v-if="yandexIco" class="abtn__yandexIco" width="24" height="24" viewBox="0 0 1024 1024" fill="none">
201                    <circle cx="512" cy="512" r="512" fill="#FC3F1D"/>
202                    <path d="M583.31 762.91h89.6V261.83H543.4c-130.05 0-198.42 66.82-198.42 165.43 0 78.75 37.5 124.9 104.32 172.6l-116.1 173.05h97.13l129.4-193.4-45.18-30.27c-54.27-36.6-80.7-65.1-80.7-126.62 0-54.27 38.1-91.07 110.34-91.07h39.8v461.83z" fill="#fff"/>
203                </svg>
204
205                    {{title}}
206                     
207                    <svg v-if="arr" width="37" height="16" viewBox="0 0 37 16" class="abtn__arr" :class="{'abtn__arr--move': isArrMoving}">
208                        <path d="M29.049 0C28.7864 6.97316e-05 28.5298 0.0790813 28.3119 0.226934C28.0941 0.374787 27.925 0.584763 27.8261 0.830016C27.7273 1.07527 27.7033 1.34466 27.7572 1.60374C27.811 1.86282 27.9403 2.09982 28.1285 2.28444L32.4757 6.66621H1.33894C1.16401 6.66372 0.990328 6.69629 0.827992 6.76204C0.665657 6.8278 0.517905 6.92541 0.393324 7.04922C0.268742 7.17303 0.169816 7.32056 0.102294 7.48324C0.0347715 7.64593 0 7.82051 0 7.99685C0 8.1732 0.0347715 8.34778 0.102294 8.5104
2086C0.169816 8.67315 0.268742 8.82068 0.393324 8.94449C0.517905 9.06829 0.665657 9.16591 0.827992 9.23166C0.990328 9.29742 1.16401 9.32999 1.33894 9.3275H32.4757L28.1285 13.7093C28.0018 13.8319 27.9007 13.9787 27.831 14.1412C27.7613 14.3038 27.7245 14.4786 27.7227 14.6557C27.7209 14.8327 27.7542 15.0083 27.8206 15.1722C27.887 15.3361 27.9852 15.485 28.1094 15.6102C28.2335 15.7354 28.3813 15.8344 28.5439 15.9013C28.7065 15.9682 28.8807 16.0017 29.0564 15.9999C29.232 15.9981 29.4055 15.961 29.5667 15.8908C29.728 15.8205 29.8737 15.7186 29.9953 15.5909L36.48 9.05461C36.6412 8.93077 36.772 8.77117 36.8622 8.58819C36.9523 8.40521 36.9995 8.20375 37 7.99944C37.0005 7.79512 36.9543 7.59344 36.865 7.41001C36.7757 7.22658 36.6458 7.06634 36.4851 6.9417C36.4826 6.93995 36.48 6.93822 36.4774 6.9365L29.9953 0.402831C29.8723 0.275363 29.7252 0.174042 29.5626 0.104852C29.4001 0.0356633 29.2255 1.03308e-05 29.049 0Z" fill="currentColor"/>
209                    </svg>
210                    
211                </div>
212                <div class="abtn__sub">{{sub}}</div>                    
213            </div>
214        
215        </div>
216    
217    `};app.authReturnFromExternalMixin={mounted(){this._didHide=!1;this._onReturnVisible=()=>{if(document.visibilityState==='hidden'){this._didHide=!0;return}
218if(document.visibilityState==='visible'&&this.hasNavigated&&this._didHide){this._didHide=!1;this.login()}};document.addEventListener('visibilitychange',this._onReturnVisible)},beforeDestroy(){document.removeEventListener('visibilitychange',this._onReturnVisible)},};app.authMethodsScreen={components:{authHeader:app.authHeaderComponent,authPhone:app.authPhoneComponent,authPolicyMain:app.authPolicyMain,authButton:app.authFooterButtonComponent},props:['loc','isTelegramOff','isSmsOff','isWhatsappOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isApp','isStoreModerate','skipCaptcha','isAuthConsentRequired','isPolicyAccepted','isAuthScreenWithPhone','phone','phoneMask'],computed:{title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/header/subMethod']},moderateMethod(){if(!this.isStoreModerate)return null;if(!this.isSmsOff)return'sms';if(!this.isTelegramOff&&!this.skipCaptcha)return'tg';if(!this.isTgBotOff)return'tgbot';if(!this.isWhatsappOff&&!this.skipCaptcha)return'whatsapp';if(!this.isVkIdOff)return'vkid';if(!this.isMaxOff)return'max';if(!this.isAppleIdOff)return'appleid';if(!this.isGoogleIdOff)return'googleid';if(!this.isYandexIdOff)return'yandexid';return null},isTgVisible(){if(this.isStoreModerate)return this.moderateMethod==='tg';return!this.isTelegramOff&&!this.skipCaptcha},isTgBotVisible(){if(this.isStoreModerate)return this.moderateMethod==='tgbot';if(this.isTgVisible)return!1;return!this.isTgBotOff},isVkIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='vkid';return!this.isVkIdOff},isSmsVisible(){if(this.isStoreModerate)return this.moderateMethod==='sms';return!this.isSmsOff},isSmsLink(){return this.isSmsVisible&&!this.isAuthScreenWithPhone&&!this.isStoreModerate},isWhatsappVisible(){if(this.isStoreModerate)return this.moderateMethod==='whatsapp';return!this.isWhatsappOff&&!this.skipCaptcha},showIcons(){return!this.isStoreModerate},tgTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/telegram']},tgSub(){if(this.isStoreModerate)return'';if(this.isSmsOff)return'';if(!this.isWhatsappOff)return'';return this.loc['auth2/btn/telegram/sub']},tgBotTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/telegram']},tgBotSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/telegram/sub']},vkIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/vkid']||'VK ID'},whatsappTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/whatsapp']},smsTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/sms']},smsSub(){if(this.isStoreModerate)return'';if(this.isTelegramOff&&this.isTgBotOff)return'';return this.loc['auth2/btn/sms/sub']},smsLinkTitle(){return this.loc['auth2/btn/loginByPhone']},whatsappSub(){if(this.isStoreModerate)return'';if(!this.isTelegramOff)return'';return this.tgSub},vkIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/vkid/sub']||''},isMaxVisible(){if(this.isStoreModerate)return this.moderateMethod==='max';return!this.isMaxOff},maxTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/max']||'MAX'},maxSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/max/sub']||''},isAppleIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='appleid';return!this.isAppleIdOff},appleIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/appleid']||'Apple ID'},appleIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/appleid/sub']||''},isGoogleIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='googleid';return!this.isGoogleIdOff},googleIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/googleid']||'Google'},googleIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/googleid/sub']||''},isYandexIdVisible(){if(this.isStoreModerate)return this.moderateMethod==='yandexid';return!this.isYandexIdOff},yandexIdTitle(){if(this.isStoreModerate)return this.loc['btn/auth'];return this.loc['auth2/btn/yandexid']||'Yandex ID'},yandexIdSub(){if(this.isStoreModerate)return'';return this.loc['auth2/btn/yandexid/sub']||''},},methods:{select(method){if(this.isAuthScreenWithPhone){this.$emit('selectMethod',method,null);return}
219this.$emit('fetch',{authMethod:method,code:'',needCode:!0,tgBotNavigated:!1,vkAuthNavigated:!1,},(response)=>{if(response.error){return}
220this.$emit('selectMethod',method,response)})}},template:`
221    <div class="authMethod">
222
223        <authHeader :title="title" :subtitle="subtitle"/>
224
225        <div v-if="isAuthScreenWithPhone" class="authMethod__phone">
226            <authPhone
227                :loc="loc"
228                :phoneMask="phoneMask"
229                :value="phone"
230                @input="$emit('update:phone', $event)"/>
231        </div>
232
233        <div v-if="isAuthConsentRequired" class="authMethod__policy">
234            <authPolicyMain
235                :loc="loc"
236                :isPolicyAccepted="isPolicyAccepted"
237                @update:isPolicyAccepted="$emit('update:isPolicyAccepted', $event)"/>
238        </div>
239
240        <div class="authMethod__buttons">
241
242            <authButton
243                v-if="isTgVisible"
244                :active="true"
245                :title="tgTitle"
246                :sub="tgSub"
247                :tgIco="showIcons"
248                @submit="select('tg')"
249                type="tg"/>
250
251            <authButton
252                v-if="isTgBotVisible"
253                :active="true"
254                :title="tgBotTitle"
255                :sub="tgBotSub"
256                :tgIco="showIcons"
257                @submit="select('tgbot')"
258                type="tgbot"/>
259
260            <authButton
261                v-if="isVkIdVisible"
262                :active="true"
263                :title="vkIdTitle"
264                :sub="vkIdSub"
265                :vkIco="showIcons"
266                @submit="select('vkid')"
267                type="vkid"/>
268
269            <authButton
270                v-if="isWhatsappVisible"
271                :active="true"
272                :title="whatsappTitle"
273                :sub="whatsappSub"
274                :whatsappIco="showIcons"
275                @submit="select('whatsapp')"
276                type="whatsapp"/>
277
278            <authButton
279                v-if="isMaxVisible"
280                :active="true"
281                :title="maxTitle"
282                :sub="maxSub"
283                :maxIco="showIcons"
284                @submit="select('max')"
285                type="max"/>
286
287            <authButton
288                v-if="isAppleIdVisible"
289                :active="true"
290                :title="appleIdTitle"
291                :sub="appleIdSub"
292                :appleIco="showIcons"
293                @submit="select('appleid')"
294                type="appleid"/>
295
296            <authButton
297                v-if="isGoogleIdVisible"
298                :active="true"
299                :title="googleIdTitle"
300                :sub="googleIdSub"
301                :googleIco="showIcons"
302                @submit="select('googleid')"
303                type="googleid"/>
304
305            <authButton
306                v-if="isYandexIdVisible"
307                :active="true"
308                :title="yandexIdTitle"
309                :sub="yandexIdSub"
310                :yandexIco="showIcons"
311                @submit="select('yandexid')"
312                type="yandexid"/>
313
314            <authButton
315                v-if="isSmsVisible && !isSmsLink"
316                :active="true"
317                :title="smsTitle"
318                :sub="smsSub"
319                type="sms"
320                @submit="select('sms')"/>
321                
322            <a 
323                v-if="isSmsLink" 
324                class="authMethod__smsLink"
325                @click="select('sms')">{{smsLinkTitle}}</a>
326
327        </div>
328
329    </div>
330    `};app.authScreenBase={components:{authHeader:app.authHeaderComponent,authPhone:app.authPhoneComponent,authCode:app.authCodeComponent,authPolicyMain:app.authPolicyMain,authCaptcha:app.authCaptchaComponent,authTurnstile:app.authTurnstileComponent,authButton:app.authFooterButtonComponent},props:['phone','phoneMask','loc','cdnOrigin','panelUrl','lang','skipCaptcha','isAuthConsentRequired','isPolicyAccepted','isApp','errorMessage','hasMethodChoice','isAuthScreenWithPhone'],data(){return{code:'',codeSent:!1,codeMode:'sms',voiceAttempts:0,secondsLeft:{value:30},loading:!1,captchaType:'puzzle',captcha:{x:0,containerWidth:0,containerHeight:0,icoWidth:0,icoHeight:0,icoOffset:0,lastTryNumber:0,skip:!!this.skipCaptcha,cdnOrigin:this.cdnOrigin,sent:!1,visible:!1,dragging:!1,turnstileToken:''},}},computed:{title(){return this.loc['auth2/header']},subtitle(){if(this.captchaVisible){return this.loc['auth2/puzzle'].replace('{phone}',`<nobr>${this.phone}</nobr>`)}
331if(this.codeSent&&this.codeMode==='voiceCode'){return this.loc['auth2/voice/sent']}
332if(this.codeSent){return this.loc['auth2/sms/sent'].replace('{phone}',`<nobr>${this.phone}</nobr>`)}
333return this.loc['auth2/header/sub']},phoneVisible(){return!this.captchaVisible&&!this.codeSent},policyVisible(){if(!this.isAuthConsentRequired)return!1;if(this.hasMethodChoice&&!this.isAuthScreenWithPhone)return!1;return!this.captchaVisible&&!this.codeSent},buttonTitle(){if(this.codeSent){if(this.codeMode==='voiceCode'){return this.loc['auth2/voice/repeat']}
334return this.loc['auth/repeat2']}
335return this.idleButtonTitle},buttonSub(){if(this.codeSent){if(this.secondsLeft.value>0){const sec=this.loc['auth/sec'].split(/\|/g);const secFormatted=`${this.secondsLeft.value} ${app.plural(this.secondsLeft.value, sec[0], sec[1], sec[2])}`;return this.loc['auth2/send/in'].replace('{sec}',secFormatted)}
336return''}
337return''},buttonActive(){return!(this.codeSent&&this.secondsLeft.value>0)&&!this.loading},buttonArr(){return!!this.codeSent},buttonIcons(){return{}},captchaVisible(){return this.captcha.visible},isAuthButtonVisible(){return!this.captchaVisible},issetBackHandler(){return this.captchaVisible||!!this.codeSent}
337,activeCodeMode(){return this.codeSent?this.codeMode:null},},watch:{issetBackHandler(val){this.$emit('backHandler',val)},},mounted(){this._timer=setInterval(()=>{if(this.secondsLeft.value>0){this.secondsLeft.value--}},1000);if(this.isAuthScreenWithPhone){this.login({repeat:!1})}},beforeDestroy(){clearInterval(this._timer)},methods:{handleBack(){this.codeSent=!1;this.codeMode='sms';this.voiceAttempts=0;this.captcha.visible=!1;this.captcha.turnstileToken='';this.code='';this.$emit('error','')},onPhoneInput(val){this.$emit('update:phone',val);this.$emit('error','')},onCodeFocused(){this.$emit('error','')},onCodeEntered(){this.login({repeat:!1})},onSubmit(){if(this.codeSent){if(this.buttonActive){this.login({repeat:!0})}}else{this.login({repeat:!1})}},onCaptchaSelected(res){this.captcha.x=res.x;this.captcha.icoOffset=res.icoOffset;this.captcha.icoWidth=res.icoWidth;this.captcha.icoHeight=res.icoHeight;this.captcha.containerWidth=res.containerWidth;this.captcha.containerHeight=res.containerHeight;this.captcha.dragging=!1;this.$emit('captchaDragging',!1);this.login({repeat:!1})},onCaptchaStarted(){this.captcha.dragging=!0;this.$emit('captchaDragging',!0)},onTurnstileToken(token){this.captcha.turnstileToken=token;this.login({repeat:!1})},onTurnstileExpired(){this.captcha.turnstileToken=''},login(params){if(this.loading)return;this.loading=!0;this.$emit('fetch',{authMethod:this.authMethod,code:this.code,needCode:!this.codeSent||params.repeat,captcha:this.captcha,voiceAttempts:this.voiceAttempts,tgBotNavigated:!1,vkAuthNavigated:!1},(response)=>{this.onResponse(response)})},onResponse(response){const actionRequired=response.actionRequired;this.captcha.x=0;this.loading=!1;if(response.error){return}
338if(['NEED_CAPTCHA','WRONG_CAPTCHA'].includes(actionRequired)){this.codeSent=!1;this.code='';this.captcha.lastTryNumber=response.lastTryNumber;this.captchaType=response.captchaType||'puzzle';this.captcha.visible=!0;if(actionRequired==='WRONG_CAPTCHA'){this.$emit('error',response.message)}}else if(actionRequired==='ENTER_CODE'){this.codeSent=!0;this.codeMode='sms';this.code='';this.captcha.visible=!1;this.secondsLeft.value=30}else if(actionRequired==='ENTER_VOICE_CODE'){this.codeSent=!0;this.codeMode='voiceCode';this.voiceAttempts+=1;this.code='';this.captcha.visible=!1;this.secondsLeft.value=30}else if(actionRequired==='ENTER_CORRECT_CODE'){this.code='';this.$emit('error',response.message);this.codeSent=Math.random()}},},template:`
339    <div>
340
341        <authHeader :title="title" :subtitle="subtitle" :codeMode="activeCodeMode"/>
342
343        <authPhone
344            v-show="phoneVisible"
345            :loc="loc"
346            :phoneMask="phoneMask"
347            @input="onPhoneInput"
348            :value="phone"/>
349
350        <authCode
351            :codeSent="codeSent"
352            @focused="onCodeFocused"
353            @entered="onCodeEntered"
354            v-model="code"/>
355
356        <authPolicyMain v-if="policyVisible"
357                    :loc="loc"
358                    :isPolicyAccepted="isPolicyAccepted"
359                    @update:isPolicyAccepted="$emit('update:isPolicyAccepted', $event)"/>
360
361
362        <div class="authForm__footer">
363
364            <div v-if="captchaVisible" class="asbm__captcha">
365                <authTurnstile
366                    v-if="captchaType === 'turnstile'"
367                    :key="captcha.lastTryNumber"
368                    :panelUrl="panelUrl"
369                    :lang="lang"
370                    @token="onTurnstileToken"
371                    @expired="onTurnstileExpired"/>
372                <authCaptcha
373                    v-else
374                    :phone="phone"
375                    :captcha="captcha"
376                    :errorMessage="errorMessage"
377                    @selected="onCaptchaSelected"
378                    @started="onCaptchaStarted"/>
379            </div>
380
381            <authButton
382                v-if="isAuthButtonVisible"
383                :active="buttonActive"
384                :title="buttonTitle"
385                :sub="buttonSub"
386                :arr="buttonArr"
387                :loading="loading"
388                :type="buttonType"
389                v-bind="buttonIcons"
390                @submit="onSubmit"/>
391
392            <div v-show="issetBackHandler"
393                 @click="handleBack"
394                 class="asbm__back">
395
396                <svg width="37" height="16" viewBox="0 0 37 16">
397                    <path d="M29.049 0C28.7864 6.97316e-05 28.5298 0.0790813 28.3119 0.226934C28.0941 0.374787 27.925 0.584763 27.8261 0.830016C27.7273 1.07527 27.7033 1.34466 27.7572 1.60374C27.811 1.86282 27.9403 2.09982 28.1285 2.28444L32.4757 6.66621H1.33894C1.16401 6.66372 0.990328 6.69629 0.827992 6.76204C0.665657 6.8278 0.517905 6.92541 0.393324 7.04922C0.268742 7.17303 0.169816 7.32056 0.102294 7.48324C0.0347715 7.64593 0 7.82051 0 7.99685C0 8.1732 0.0347715 8.34778 0.102294 8.51046C0.169816 8.67315 0.268742 8.82068 0.393324 8.94449C0.517905 9.06829 0.665657 9.16591 0.827992 9.23166C0.990328 9.29742 1.16401 9.32999 1.33894 9.3275H32.4757L28.1285 13.7093C28.0018 13.8319 27.9007 13.9787 27.831 14.1412C27.7613 14.3038 27.7245 14.4786 27.7227 14.6557C27.7209 14.8327 27.7542 15.0083 27.8206 15.1722C27.887 15.3361 27.9852 15.485 28.1094 15.6102C28.2335 15.7354 28.3813 15.8344 28.5439 15.9013C28.7065 15.9682 28.8807 16.0017 29.0564 15.9999C29.232 15.9981 29.4055 15.961 29.5667 15.8908C29.728 15.8205 29.8737 15.7186 29.9953 15.5909L36.48 9.05461C36.6412 8.93077 36.772 8.77117 36.8622 8.58819C36.9523 8.40521 36.9995 8.20375 37 7.99944C37.0005 7.79512 36.9543 7.59344 36.865 7.41001C36.7757 7.22658 36.6458 7.06634 36.4851 6.9417C36.4826 6.93995 36.48 6.93822 36.4774 6.9365L29.9953 0.402831C29.8723 0.275363 29.7252 0.174042 29.5626 0.104852C29.4001 0.0356633 29.2255 1.03308e-05 29.049 0Z" fill="currentColor"/>
398                </svg>
399
400                {{loc['auth2/btn/back']}}
401            </div>
402
403        </div>
404
405    </div>
406    `};app.authSmsScreen={extends:app.authScreenBase,computed:{authMethod(){return'sms'},buttonType(){return'sms'},idleButtonTitle(){return this.loc['auth2/btn/sms']},buttonArr(){return!0},},};app.authTgScreen={extends:app.authScreenBase,props:['isStoreModerate'],computed:{authMethod(){return'tg'},buttonType(){return'tg'},idleButtonTitle(){if(this.isStoreModerate){return this.loc['btn/auth']}
407return this.loc['auth2/btn/telegram']},buttonIcons(){return{tgIco:!this.isStoreModerate}},},};app.authWhatsappScreen={extends:app.authScreenBase,props:['isStoreModerate'],computed:{authMethod(){return'whatsapp'},buttonType(){return'whatsapp'},idleButtonTitle(){if(this.isStoreModerate){return this.loc['btn/auth']}
408return this.loc['auth2/btn/whatsapp']},buttonIcons(){return{whatsappIco:!this.isStoreModerate}},},};app.authTgbotScreen={components:{authHeader:app.authHeaderComponent,authButton:app.authFooterButtonComponent},props:['loc','isApp','screenParams',],mixins:[app.authReturnFromExternalMixin],data(){return{hasNavigated:!1,loading:!1,}},mounted(){if(this.isApp){this.navigate()}},computed:{navigateUrl(){return this.screenParams&&this.screenParams.botUrl},title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/tgbot/goto']},buttonTitle(){if(!this.navigateUrl){return this.loc['auth2/btn/telegram']}
409if(this.hasNavigated){return this.loc['btn/done']}
410return this.loc['auth/navigateTgBot']},buttonActive(){return!this.loading},},methods:{onSubmit(){if(!this.navigateUrl){this.login();return}
411if(!this.hasNavigated){this.navigate();return}
412this.login()},navigate(){this.hasNavigated=!0;this.$emit('navigate',{type:'tgBot',url:this.navigateUrl})},login(){if(this.loading){return}
413this.loading=!0;const payload={authMethod:'tgbot',tgBotNavigated:this.hasNavigated,tgAuthId:this.screenParams&&this.screenParams.tgAuthId,tgAuthNonce:this.screenParams&&this.screenParams.tgAuthNonce};this.$emit('fetch',payload,(response)=>{this.loading=!1})},},template:`
414    <div>
415
416        <authHeader 
417            :title="title" 
418            :subtitle="subtitle"
419            @linkClicked="navigate"/>
420
421        <div class="authForm__footer">
422
423            <authButton
424                :active="buttonActive"
425                :title="buttonTitle"
426                :loading="loading"
427                type="tgbot"
428                @submit="onSubmit"/>
429
430        </div>
431
432    </div>
433    `};app.authMaxScreen={components:{authHeader:app.authHeaderComponent,authButton:app.authFooterButtonComponent},props:['loc','isApp','screenParams',],mixins:[app.authReturnFromExternalMixin],data(){return{hasNavigated:!1,loading:!1,}}
433,mounted(){if(this.isApp){this.navigate()}},computed:{navigateUrl(){return this.screenParams&&this.screenParams.botUrl},title(){return this.loc['auth2/header']},subtitle(){return this.loc['auth2/max/goto']},buttonTitle(){if(!this.navigateUrl){return this.loc['auth2/btn/max']||'MAX'}
434if(this.hasNavigated){return this.loc['btn/done']}
435return this.loc['auth/navigateMax']},buttonActive(){return!this.loading},},methods:{onSubmit(){if(!this.navigateUrl){this.login();return}
436if(!this.hasNavigated){this.navigate();return}
437this.login()},navigate(){this.hasNavigated=!0;this.$emit('navigate',{type:'max',url:this.navigateUrl})},login(){if(this.loading){return}
438this.loading=!0;this.$emit('fetch',{authMethod:'max',maxBotNavigated:this.hasNavigated,maxAuthId:this.screenParams&&this.screenParams.maxAuthId,maxAuthNonce:this.screenParams&&this.screenParams.maxAuthNonce,},(response)=>{this.loading=!1})},},template:`
439    <div>
440
441        <authHeader
442            :title="title"
443            :subtitle="subtitle"
444            @linkClicked="navigate"/>
445
446        <div class="authForm__footer">
447
448            <authButton
449                :active="buttonActive"
450                :title="buttonTitle"
451                :loading="loading"
452                type="max"
453                @submit="onSubmit"/>
454
455        </div>
456
457    </div>
458    `};const SKIPPABLE_METHODS=['sms','tg','whatsapp'];app.authMainComponent={components:{authLock:app.authLockComponent,authError:app.authErrorComponent,authMethods:app.authMethodsScreen,smsAuth:app.authSmsScreen,tgAuth:app.authTgScreen,whatsappAuth:app.authWhatsappScreen,tgbotAuth:app.authTgbotScreen,maxAuth:app.authMaxScreen,vkidAuth:app.authVkidScreen},props:['loc','isApp','isWeb','phoneMask','cdnOrigin','panelUrl','lang','skipCaptcha','isTelegramOff','isSmsOff','isWhatsappOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isStoreModerate','isAuthConsentRequired','returnTo'],data(){return{phone:'',isPolicyAccepted:!1,currentScreen:'authMethod',currentScreenParams:null,hasMethodChoice:!0,screenHasBackHandler:!1,lockState:null,errorMessage:''}},computed:{isBgCloseEnabled(){return this.currentScreen==='authMethod'||!this.hasMethodChoice},isBackActive(){if(this.currentScreen==='authMethod')return!1;if(this.hasMethodChoice)return!0;return this.screenHasBackHandler},isSwipeDisabled(){return this._captchaDragging},activeScreen(){const map={sms:'smsAuth',tg:'tgAuth',whatsapp:'whatsappAuth',tgbot:'tgbotAuth',max:'maxAuth',vkid:'vkidAuth'};return map[this.currentScreen]||null},isAuthScreenWithPhone(){if(!this.hasMethodChoice)return!1;const visible=this.computeVisibleMethods();return visible.length>=2&&visible.every(m=>SKIPPABLE_METHODS.includes(m))},},created(){this._captchaDragging=!1;const visible=this.computeVisibleMethods();if(visible.length===1&&SKIPPABLE_METHODS.includes(visible[0])){this.hasMethodChoice=!1;this.currentScreen=visible[0]}},methods:{computeVisibleMethods(){if(this.isStoreModerate){if(!this.isSmsOff)return['sms'];if(!this.isTelegramOff&&!this.skipCaptcha)return['tg'];if(!this.isTgBotOff)return['tgbot'];if(!this.isWhatsappOff&&!this.skipCaptcha)return['whatsapp'];if(!this.isVkIdOff)return['vkid'];if(!this.isMaxOff)return['max'];if(!this.isAppleIdOff)return['appleid'];if(!this.isGoogleIdOff)return['googleid'];if(!this.isYandexIdOff)return['yandexid'];return[]}
459const visible=[];const tgVisible=!this.isTelegramOff&&!this.skipCaptcha;if(tgVisible)visible.push('tg');if(!tgVisible&&!this.isTgBotOff)visible.push('tgbot');if(!this.isVkIdOff)visible.push('vkid');if(!this.isWhatsappOff&&!this.skipCaptcha)visible.push('whatsapp');if(!this.isMaxOff)visible.push('max');if(!this.isAppleIdOff)visible.push('appleid');if(!this.isGoogleIdOff)visible.push('googleid');if(!this.isYandexIdOff)visible.push('yandexid');if(!this.isSmsOff)visible.push('sms');return visible},onSelectMethod(method,params){this.errorMessage='';this.screenHasBackHandler=!1;this.currentScreen=method;this.currentScreenParams=params},onBack(){this.errorMessage='';if(this.screenHasBackHandler){this.$refs.screen.handleBack();return}
460if(!this.hasMethodChoice)return;this.currentScreen='authMethod'},onFetch(payload,callback){this.lockState='loading';this.errorMessage='';const fullPayload={...payload,phone:this.phone,isPolicyAccepted:this.isPolicyAccepted,isConsentShown:!!this.isAuthConsentRequired,currentScreen:this.currentScreen,returnTo:this.returnTo||'',};app.fetch('/auth/login4',fullPayload,(response)=>{callback(response);if(response.actionRequired==='SAVE_CREDENTIALS'){this.lockState='success';setTimeout(()=>{this.onSuccess(response)},800);return}
461if(response.actionRequired==='NEED_VK_AUTH'){if(!response.vkAuthUrl){this.lockState='error';return}
462if(this.isApp){this.lockState='idle';this.currentScreen='vkid';this.currentScreenParams=response}
463this.$emit('navigate',{type:'vkId',url:response.vkAuthUrl});return}
464if(response.actionRequired==='NEED_APPLE_AUTH'){if(!response.appleAuthUrl){this.lockState='error';return}
465this.$emit('navigate',{type:'appleId',url:response.appleAuthUrl});return}
466if(response.actionRequired==='NEED_GOOGLE_AUTH'){if(!response.googleAuthUrl){this.lockState='error';return}
467this.$emit('navigate',{type:'googleId',url:response.googleAuthUrl});return}
468if(response.actionRequired==='NEED_YANDEX_AUTH'){if(!response.yandexAuthUrl){this.lockState='error';return}
469this.$emit('navigate',{type:'yandexId',url:response.yandexAuthUrl});return}
470if(response.actionRequired==='ERROR_SENDING'){this.lockState='error';this.onBack();this.errorMessage=response.message||'';return}
471if(response.error){this.lockState='error';this.errorMessage=response.message||''}else{this.lockState='idle'}})},onSuccess(response){this.$emit('submit',response)},onNavigate(params){this.$emit('navigate',params)},onCaptchaDragging(d){this._captchaDragging=d;this.$emit('captchaDragging',d)},},template:`
472        <div class="authForm" :class="'authForm--'+activeScreen">
473        
474            <div v-if="isBackActive"
475                v-press
476                 class="authForm__back"
477                 @click="onBack">
478                 
479                 <svg class="authForm__backIco" width="12" height="21" viewBox="0 0 12 21" fill="none">
480                    <path d="M11 1.5L2 10.5L11 19.5" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
481                </svg>
482    
483            </div>        
484
485            <authLock :lockState="lockState"/>
486
487            <authError
488                :errorMessage="errorMessage"
489                @dismiss="errorMessage = ''"/>
490
491            <authMethods v-if="currentScreen==='authMethod'"
492                :loc="loc"
493                :isTelegramOff="isTelegramOff" :isSmsOff="isSmsOff"
494                :isWhatsappOff="isWhatsappOff" :isTgBotOff="isTgBotOff"
495                :isVkIdOff="isVkIdOff" :isMaxOff="isMaxOff" :isAppleIdOff="isAppleIdOff"
496                :isGoogleIdOff="isGoogleIdOff" :isYandexIdOff="isYandexIdOff"
497                :isApp="isApp" :isStoreModerate="isStoreModerate"
498                :skipCaptcha="skipCaptcha"
499                :isAuthScreenWithPhone="isAuthScreenWithPhone"
500                :phone.sync="phone" :phoneMask="phoneMask"
501                :isAuthConsentRequired="isAuthConsentRequired" :isPolicyAccepted.sync="isPolicyAccepted"
502                @fetch="onFetch"
503                @selectMethod="onSelectMethod"
504                @navigate="onNavigate"/>
505
506            <component ref="screen" v-if="activeScreen" :is="activeScreen" :key="currentScreen"
507                :screenParams="currentScreenParams"
508                :phone.sync="phone" :phoneMask="phoneMask"
509                :loc="loc" :cdnOrigin="cdnOrigin" :skipCaptcha="skipCaptcha"
510                :panelUrl="panelUrl" :lang="lang"
511                :hasMethodChoice="hasMethodChoice"
512                :isAuthScreenWithPhone="isAuthScreenWithPhone"
513                :isAuthConsentRequired="isAuthConsentRequired"
514                :isPolicyAccepted.sync="isPolicyAccepted"
515                :isApp="isApp" :isStoreModerate="isStoreModerate"
516                :errorMessage="errorMessage"
517                @error="errorMessage = $event"
518                @fetch="onFetch"
519                @success="onSuccess" @back="onBack"
520                @backHandler="screenHasBackHandler = $event"
521                @navigate="onNavigate" @captchaDragging="onCaptchaDragging"/>
522
523            <div class="authForm__policyLink" @click="onNavigate({type: 'terms'})">{{ loc['auth/policyLink'] }}</div>
524
525        </div>
526    `};app.addModule(function(){const show=(e,params)=>{const returnTo=params&&params.returnTo;const cbAfterAuth=params&&params.cb;const authComponent={components:{authMain:app.authMainComponent,},data(){return{returnTo:returnTo||'',}},computed:{...Vuex.mapState(['loc','company','ui','cdnOrigin','panelUrl','lang','phoneMask','isSmsOff','isTelegramOff','isTgBotOff','isVkIdOff','isMaxOff','isAppleIdOff','isGoogleIdOff','isYandexIdOff','isWhatsappOff','isAuthConsentRequired',]),isStoreModerate(){return!1},skipCaptcha(){return!1}},methods:{onSubmit(response){if(cbAfterAuth){cbAfterAuth(response.phone);this.$emit('close')}else if(returnTo==='profile'){window.location.assign('/?profile')}else if(returnTo==='cart'){window.location.assign('?showCart')}else if(returnTo==='helpDeskEddy'){window.location.assign('/?helpDeskEddy')}else{window.location.reload()}},onNavigate(params){if(!params||!params.type){return}
527if(params.type==='terms'){window.open('/policy','_blank')}else if(params.type==='tgBot'&&params.url){window.open(params.url)}else if(params.type==='vkId'&&params.url){window.location.href=params.url}else if(params.type==='max'&&params.url){window.open(params.url)}else if(params.type==='appleId'&&params.url){window.location.href=params.url}else if(params.type==='googleId'&&params.url){window.location.href=params.url}else if(params.type==='yandexId'&&params.url){window.location.href=params.url}}},store:app.store,template:`
528                <authMain
529                    :isApp="false"
530                    :isWeb="true"
531                    :loc="loc"
532                    :phoneMask="phoneMask"
533                    :cdnOrigin="cdnOrigin"
534                    :panelUrl="panelUrl"
535                    :lang="lang"
536                    :skipCaptcha="skipCaptcha"
537                    :isTelegramOff="isTelegramOff"
538                    :isSmsOff="isSmsOff"
539                    :isWhatsappOff="isWhatsappOff"
540                    :isTgBotOff="isTgBotOff"
541                    :isVkIdOff="isVkIdOff"
542                    :isMaxOff="isMaxOff"
543                    :isAppleIdOff="isAppleIdOff"
544                    :isGoogleIdOff="isGoogleIdOff"
545                    :isYandexIdOff="isYandexIdOff"
546                    :isStoreModerate="isStoreModerate"
547                    :isAuthConsentRequired="isAuthConsentRequired"
548                    :returnTo="returnTo"
549                    @submit="onSubmit"
550                    @navigate="onNavigate"
551                />
552            `,};app.openViewer({desktop:{maxWidth:'375px',},mobile:{withTick:!0,maxHeight:'calc(100dvh - 20px)'},component:authComponent,})
553PubSub.publish('gtmNotify',{event:'authForm'})};PubSub.subscribe('showLoginModalWindow',show);PubSub.subscribe('showAuth',show);if(window.location.href.includes('?av4')){show(null,{})}
554if(window.location.href.includes('?auth')){const returnTo=window.location.href.match(/&return\=(.+)/);window.history.replaceState(null,null,'/');show(null,{returnTo:returnTo&&returnTo[1]})}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.