const __vite__fileDeps=["./chart-BIax9IsQ.js","./chart-CQQX2xOH.css","./mainTab-RurqNRXZ.js","./index-D_EGaVbS.js","./index-BQW3n_1i.css","./actions-BE1af_U3.js","./staticSwitch-C6FESQ3t.js","./staticSwitch-SO3mb_aI.css","./chatBackground-j-mSAtH4.js","./chatBackground-DT3l-EOo.css","./lottieAnimation-CTSJfq7Q.js","./lottieAnimation-Bh8Z3Bb3.css","./page-C6VUMrJP.js","./avatar-C4f7PAeP.js","./putPreloader-NOkcnuw_.js","./htmlToSpan-DhAls8qz.js","./textToSvgURL-Cnw_Q8Rw.js","./fastBlur-Co-79rP4.js","./countryInputField-yId9tpyt.js","./_commonjsHelpers-Cpj98o6Y.js","./codeInputField-4XE97kZh.js","./mainTab-B5uVZY8i.css","./enterPasswordTab-CiYs0tJz.js","./tab--r1i_QxL.js","./starsRangeInput-DUKz4CVH.js","./starsRangeInput-Cd-JjoxX.css","./tab-BgmK3oT5.css","./chargeForMessasgesSection-C_HrZ24y.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); var rL=Object.defineProperty;var oL=(a,e,t)=>e in a?rL(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var ro=(a,e,t)=>(oL(a,typeof e!="symbol"?e+"":e,t),t),Hw=(a,e,t)=>{if(!e.has(a))throw TypeError("Cannot "+t)};var ls=(a,e,t)=>(Hw(a,e,"read from private field"),t?t.call(a):e.get(a)),Ks=(a,e,t)=>{if(e.has(a))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(a):e.set(a,t)},ss=(a,e,t,s)=>(Hw(a,e,"write to private field"),s?s.call(a,t):e.set(a,t),t);import{g as ks,d as Be,a2 as Y,ac as le,ae as Vt,r as I,af as Mc,m as st,ag as ai,ah as lL,ai as Ae,I as Ne,aj as Yi,i as P,ak as Mo,al as Fy,am as Wt,an as cL,ao as DC,w as je,ap as Xd,aq as By,ar as jt,as as Bo,at as Lc,au as El,av as Qr,aw as Ec,a5 as V,J as Mt,ax as Ot,ay as pi,az as Ft,aA as Ho,W as ze,U as K,aB as Ht,aC as Dy,aD as Ya,aE as Gw,aF as ku,aG as mv,aH as Qt,aI as om,aJ as $y,aK as Ny,aL as Vs,aM as Xr,aN as Tu,aO as Gr,aP as Nt,c as St,aQ as Oy,f as Ns,aR as dL,k as Ei,aS as md,aT as Vn,aU as lm,H as wt,n as _e,e as J,aV as mr,M as $s,aW as Uy,aX as gv,aY as $C,aZ as ha,a_ as ii,a$ as hL,b0 as uL,b1 as Do,b2 as fs,b3 as as,b4 as pL,b5 as Ls,Y as k,Z as T,V as Me,b6 as Es,b7 as ne,$ as be,a1 as er,a0 as Js,X as Ue,b8 as so,R as ni,b9 as Vw,ba as zw,j as Vr,bb as Lo,bc as yi,bd as mL,be as en,bf as Ka,x as ue,bg as Go,t as os,bh as pn,bi as Hy,N as Mi,h as pt,bj as Eo,bk as wr,bl as Pt,bm as vn,u as ns,bn as Gi,bo as $o,bp as $t,B as ot,bq as NC,br as Qs,bs as zt,bt as Wl,E as hi,bu as hn,bv as tn,bw as _n,bx as cm,by as Ni,A as _o,y as Yt,z as yt,bz as OC,bA as Rh,bB as Kl,G as Bn,bC as Vo,bD as Rn,bE as vi,bF as dm,bG as ra,bH as UC,bI as It,p as Ki,s as jl,a as xu,bJ as ji,bK as kn,bL as No,bM as gL,bN as Xs,bO as Zd,bP as tr,L as hm,O as Di,bQ as Pn,bR as oa,_ as zo,bS as ug,bT as Fi,bU as ci,bV as yn,bW as HC,bX as GC,bY as dn,bZ as on,b_ as Ut,b$ as ua,c0 as fL,c1 as VC,c2 as Fh,c3 as Sn,c4 as Gy,c5 as gr,c6 as Au,c7 as zr,c8 as gs,c9 as vL,ca as Wo,cb as wi,cc as yL,cd as wa,ce as zC,a4 as Jt,cf as pg,cg as bL,ch as Vy,ci as pa,cj as zy,ck as Bh,a8 as fn,cl as wL,cm as WC,ab as fa,cn as mg,co as ql,cp as Ko,cq as Up,cr as Wy,cs as KC,ct as sr,cu as SL,cv as CL,cw as Ru,cx as _L,cy as IL,cz as jC,cA as Dh,a7 as gd,cB as Ii,cC as fv,cD as PL,P as gg,cE as ML,aa as ma,a3 as Fs,cF as Cs,a6 as Lr,cG as qC,cH as YC,cI as An,cJ as $h,cK as Or,cL as bl,cM as Pa,cN as Jd,cO as Nh,cP as LL,cQ as Zr,cR as vv,cS as Oh,cT as Fu,cU as fg,cV as Ky,cW as lh,cX as jy,cY as EL,cZ as yv,c_ as kL,c$ as Wr,d0 as TL,d1 as QC,d2 as XC,d3 as vg,d4 as qy,d5 as yg,d6 as xL,d7 as Yy,d8 as xn,d9 as bg,Q as Bu,da as Uh,db as AL,dc as Qy,dd as RL,de as wg,ad as zi,df as Ww,dg as js,dh as Xy,di as Kw,dj as fd,dk as us,dl as Qa,dm as ul,dn as Kc,dp as Hh,dq as bv,a9 as FL,dr as ZC,ds as JC,dt as e_,du as ch,dv as ka,dw as jc,dx as wv,dy as BL,dz as DL,dA as io,dB as $L,dC as jw,dD as NL,dE as um,dF as Hp,dG as Gh,dH as Mn,dI as Sv,dJ as qr,dK as OL,K as Al,dL as t_,dM as Zy,dN as UL,dO as s_,dP as i_,dQ as n_,b as Fa,dR as HL,dS as GL,dT as Cv,dU as _v,dV as fo,dW as VL,dX as Iv,dY as zL,dZ as WL,d_ as pp,d$ as KL,e0 as Pv,e1 as a_,e2 as jL,e3 as r_,e4 as qL,e5 as YL,e6 as QL,e7 as XL,e8 as ZL,e9 as JL,ea as Jy,eb as Mv,ec as mp,ed as eE,ee as tE,ef as sE,eg as iE,eh as nE,ei as qw,ej as eb,ek as Vh,el as Sg,em as o_,en as aE,eo as Yw,ep as rE,v as l_,eq as oE,er as Zi,es as On,et as lE,eu as cE,ev as dE,ew as hE,ex as c_,ey as Lv,ez as fc,eA as uE,eB as wl,eC as pE,eD as mE,eE as d_,eF as gE,eG as fE,eH as ea,o as Qw,eI as pm,eJ as mm,q as vc,eK as vE,eL as yE,eM as bE,eN as wE,eO as h_,eP as SE,eQ as Xw,eR as CE,eS as Zw,eT as gp,F as Jw,eU as _E,C as pf,eV as IE,eW as PE,eX as ME,eY as eS,eZ as Ev,e_ as LE,e$ as EE,f0 as kE,f1 as TE,f2 as xE,f3 as AE,f4 as tS,f5 as RE,f6 as FE,f7 as mf,f8 as BE,f9 as DE,fa as $E,fb as NE,fc as OE,fd as u_,fe as UE,ff as HE}from"./index-D_EGaVbS.js";import{T as Sr,h as vd}from"./page-C6VUMrJP.js";import{P as p_,r as GE}from"./avatar-C4f7PAeP.js";import{s as tb,p as Yn,P as VE}from"./putPreloader-NOkcnuw_.js";import{s as Ta,c as Ge,r as yd,a as sb,T as Du,C as zE,S as Kr,u as WE,b as kc,d as m_,e as kv,g as KE,h as g_,i as ib,f as f_,j as jE,k as qE}from"./chatBackground-j-mSAtH4.js";import{h as nb}from"./htmlToSpan-DhAls8qz.js";import{t as YE,b as QE}from"./textToSvgURL-Cnw_Q8Rw.js";import XE from"./fastBlur-Co-79rP4.js";import{C as ZE,f as bd,T as v_,a as JE}from"./countryInputField-yId9tpyt.js";import{g as ek}from"./_commonjsHelpers-Cpj98o6Y.js";import{C as tk,T as sk}from"./codeInputField-4XE97kZh.js";function y_(a){const e=document.createElement("span");return e.classList.add("badge-fake"),ks(e,a?"ScamMessage":"FakeMessage"),e}function ik(){return Be("star","premium-icon")}function nk(){const a=document.createElement("span");a.classList.add("verified-icon");const e=26,t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttributeNS(null,"viewBox",`0 0 ${e} ${e}`),t.setAttributeNS(null,"width",`${e}`),t.setAttributeNS(null,"height",`${e}`),t.classList.add("verified-icon-svg");const s=document.createElementNS("http://www.w3.org/2000/svg","use");s.setAttributeNS(null,"href","#verified-icon-background"),s.classList.add("verified-icon-background");const i=document.createElementNS("http://www.w3.org/2000/svg","use");return i.setAttributeNS(null,"href","#verified-icon-check"),i.classList.add("verified-icon-check"),t.append(i,s),a.append(t),a}const ak=[{x:20,y:0,scale:1,delay:500},{x:15,y:15,scale:.75,delay:3500},{x:10,y:35,scale:.75,delay:4500},{x:20,y:70,scale:1.25,delay:1500},{x:40,y:10,scale:1.25,delay:0},{x:45,y:60,scale:.75,delay:3e3},{x:60,y:-10,scale:1,delay:1e3},{x:55,y:40,scale:.75,delay:3e3},{x:70,y:65,scale:1,delay:4500},{x:80,y:10,scale:.75,delay:1500},{x:80,y:45,scale:1.25,delay:0}].map(a=>({...a,translateX:Math.cos(Math.atan2(-50+a.y,-50+a.x))*100,translateY:Math.sin(Math.atan2(-50+a.y,-50+a.x))*100}));function rk(){return{x:Math.random()*100,y:Math.random()*100,translateX:(Math.random()*5+15)*100,translateY:(Math.random()*10-5)*100,scale:Math.random()*.5+.5,delay:Math.random()*5e3}}const ok=Y('');function sS(a,e){let t;return e?(t=document.createElement("div"),t.textContent="✦"):t=ok(),t.classList.add("sparkles-sparkle"),t.style.setProperty("--sparkle-tx",a.translateX+"%"),t.style.setProperty("--sparkle-ty",a.translateY+"%"),t.style.setProperty("--sparkle-scale",a.scale*(Math.random()*.5+.25)+""),t.style.setProperty("--sparkle-rotate",(Math.random()*90-45)*4+"deg"),t.style.transform=`scale(${a.scale})`,t.style.top=a.y+"%",t.style.left=a.x+"%",t.style.animationDelay="-"+a.delay+"ms",t}function Rl(a){const e=document.createElement("div");return e.classList.add("sparkles-container"),a.mode==="button"?e.append(...ak.map(t=>sS(t,a.isDiv))):le(Vt(()=>a.count,(t,s=0)=>{const i=t-s;if(i>0)for(let n=0;n{if(!s())return;const u=[],h=d.attributes.find(p=>p._==="documentAttributeCustomEmoji");h&&h.pFlags.text_color&&r.classList.add("emoji-status-text-color"),await ai({doc:d,div:r,width:t.width,height:t.height,loop:2,play:!0,group:i||"EMOJI-STATUS",loadPromises:u,middleware:s,static:d.mime_type==="video/webm"&&!lL,textColor:n||"primary-color"}),s()&&await Promise.all(u)};if(e._==="emojiStatusCollectible"&&(r.appendChild(Rl({mode:"button",isDiv:!0})),r.style.setProperty("--sparkles-color",Mc(e.center_color))),!s())return r;const c=o.result.then(l);return o.cached&&await c,r}async function Tv({peerId:a,noVerifiedIcon:e,noFakeIcon:t,noPremiumIcon:s,peer:i,wrapOptions:n}){i??(i=Ae.getPeer(a));const r=[];if(!i)return r;if((i.pFlags.fake||i.pFlags.scam)&&!t&&r.push(y_(i.pFlags.scam)),!s&&n?.middleware){const o=i.emoji_status,l=await Ae.isPremiumFeaturesHidden();if(o&&"document_id"in o&&!l){const{middleware:c}=n,d=await b_({emojiStatus:o,wrapOptions:n});if(!c())return r;r.push(d)}else i.pFlags.premium&&!l&&r.push(ik())}return i.pFlags.verified&&!e&&r.push(nk()),r}var Hn=(a=>(a[a.Seconds=0]="Seconds",a[a.Minutes=1]="Minutes",a[a.Hours=2]="Hours",a[a.Days=3]="Days",a[a.Weeks=4]="Weeks",a[a.Months=5]="Months",a[a.Years=6]="Years",a))(Hn||{});function Yl(a,e=2){a||(a=1);const t=[],s=[{m:1,t:0},{m:60,t:1},{m:60,t:2},{m:24,t:3},{m:7,t:4}];let n=1;s.forEach((o,l)=>{if(n=Math.round(n*o.m),a=0;--o)r[o].duration===0&&r.splice(o,1);return r}function bn(a,e=!1){const t=parseInt(a+"",10);let s=Math.floor(t/3600),i=Math.floor((t-s*3600)/60),n=t-s*3600-i*60;return s&&s<10&&e&&(s="0"+s),i<10&&(s||e)&&(i="0"+i),n<10&&(n="0"+n),(s?s+":":"")+i+":"+n}const iS={[Hn.Seconds]:"Seconds",[Hn.Minutes]:"Minutes",[Hn.Hours]:"Hours",[Hn.Days]:"Days",[Hn.Weeks]:"Weeks",[Hn.Months]:"Months",[Hn.Years]:"Years"};function wd(a,e){if(e){const i=a.map(n=>Ne.format(iS[n.type],!0,[n.duration]));return Yi(i,!1,e)}const t=a.map(i=>P(iS[i.type],[i.duration])),s=document.createElement("span");return s.append(...Yi(t,!1)),s}function Gp(a,e){return wd(Yl(a,2),e)}function w_(a){const e=Yl(a,3);return e[0].type<=Hn.Hours?bn(a,!0):(e.splice(1,1/0),wd(e))}function S_(a){const e=Yl(a,3);return e[0].type===Hn.Seconds?wd(e):bn(a,!0)}const C_={AED:{code:"AED",title:"United Arab Emirates Dirham",symbol:"AED",native:"د.إ.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"367",max_amount:"3673020"},AFN:{code:"AFN",title:"Afghan Afghani",symbol:"AFN",native:"؋",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"7092",max_amount:"70919694"},ALL:{code:"ALL",title:"Albanian Lek",symbol:"ALL",native:"Lek",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!1,drop_zeros:!1,exp:2,min_amount:"9249",max_amount:"92485282"},AMD:{code:"AMD",title:"Armenian Dram",symbol:"AMD",native:"դր.",thousands_sep:",",decimal_sep:".",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"38785",max_amount:"387850064"},ARS:{code:"ARS",title:"Argentine Peso",symbol:"ARS",native:"$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"93178",max_amount:"931784401"},AUD:{code:"AUD",title:"Australian Dollar",symbol:"AU$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"153",max_amount:"1534530"},AZN:{code:"AZN",title:"Azerbaijani Manat",symbol:"AZN",native:"ман.",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"170",max_amount:"1700517"},BAM:{code:"BAM",title:"Bosnia & Herzegovina Convertible Mark",symbol:"BAM",native:"KM",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"181",max_amount:"1806101"},BDT:{code:"BDT",title:"Bangladeshi Taka",symbol:"BDT",native:"৳",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"11744",max_amount:"117439546"},BGN:{code:"BGN",title:"Bulgarian Lev",symbol:"BGN",native:"лв.",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"181",max_amount:"1808709"},BND:{code:"BND",title:"Brunei Dollar",symbol:"BND",native:"$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"133",max_amount:"1330735"},BOB:{code:"BOB",title:"Bolivian Boliviano",symbol:"BOB",native:"Bs",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"691",max_amount:"6906359"},BRL:{code:"BRL",title:"Brazilian Real",symbol:"R$",native:"R$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"577",max_amount:"5769050"},BYN:{code:"BYN",title:"Belarusian ruble",symbol:"BYN",native:"BYN",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"327",max_amount:"3270247"},CAD:{code:"CAD",title:"Canadian Dollar",symbol:"CA$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"139",max_amount:"1387645"},CHF:{code:"CHF",title:"Swiss Franc",symbol:"CHF",native:"CHF",thousands_sep:"'",decimal_sep:".",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"87",max_amount:"870429"},CLP:{code:"CLP",title:"Chilean Peso",symbol:"CLP",native:"$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:0,min_amount:"949",max_amount:"9486298"},CNY:{code:"CNY",title:"Chinese Renminbi Yuan",symbol:"CN¥",native:"CN¥",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"721",max_amount:"7207705"},COP:{code:"COP",title:"Colombian Peso",symbol:"COP",native:"$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"408665",max_amount:"4086650000"},CRC:{code:"CRC",title:"Costa Rican Colón",symbol:"CRC",native:"₡",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"52313",max_amount:"523125084"},CZK:{code:"CZK",title:"Czech Koruna",symbol:"CZK",native:"Kč",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"2332",max_amount:"23323050"},DKK:{code:"DKK",title:"Danish Krone",symbol:"DKK",native:"kr",thousands_sep:"",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"689",max_amount:"6887630"},DOP:{code:"DOP",title:"Dominican Peso",symbol:"DOP",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"5945",max_amount:"59453394"},DZD:{code:"DZD",title:"Algerian Dinar",symbol:"DZD",native:"د.ج.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"13449",max_amount:"134492834"},EGP:{code:"EGP",title:"Egyptian Pound",symbol:"EGP",native:"ج.م.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"4869",max_amount:"48686201"},ETB:{code:"ETB",title:"Ethiopian Birr",symbol:"ETB",native:"ብር",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"8093",max_amount:"80931744"},EUR:{code:"EUR",title:"Euro",symbol:"€",native:"€",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"92",max_amount:"923025"},GBP:{code:"GBP",title:"British Pound",symbol:"£",native:"£",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"78",max_amount:"784671"},GEL:{code:"GEL",title:"Georgian Lari",symbol:"GEL",native:"GEL",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"271",max_amount:"2709634"},GTQ:{code:"GTQ",title:"Guatemalan Quetzal",symbol:"GTQ",native:"Q",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"775",max_amount:"7745760"},HKD:{code:"HKD",title:"Hong Kong Dollar",symbol:"HK$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"781",max_amount:"7810275"},HNL:{code:"HNL",title:"Honduran Lempira",symbol:"HNL",native:"L",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"2474",max_amount:"24741783"},HRK:{code:"HRK",title:"Croatian Kuna",symbol:"HRK",native:"kn",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"691",max_amount:"6907950"},HUF:{code:"HUF",title:"Hungarian Forint",symbol:"HUF",native:"Ft",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"36623",max_amount:"366225500"},IDR:{code:"IDR",title:"Indonesian Rupiah",symbol:"IDR",native:"Rp",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"1620255",max_amount:"16202550000"},ILS:{code:"ILS",title:"Israeli New Sheqel",symbol:"₪",native:"₪",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"380",max_amount:"3801205"},INR:{code:"INR",title:"Indian Rupee",symbol:"₹",native:"₹",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"8374",max_amount:"83744750"},ISK:{code:"ISK",title:"Icelandic Króna",symbol:"ISK",native:"kr",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:0,min_amount:"139",max_amount:"1389014"},JMD:{code:"JMD",title:"Jamaican Dollar",symbol:"JMD",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"15637",max_amount:"156368606"},JPY:{code:"JPY",title:"Japanese Yen",symbol:"¥",native:"¥",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:0,min_amount:"149",max_amount:"1490865"},KES:{code:"KES",title:"Kenyan Shilling",symbol:"KES",native:"Ksh",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"12996",max_amount:"129960065"},KGS:{code:"KGS",title:"Kyrgyzstani Som",symbol:"KGS",native:"KGS",thousands_sep:" ",decimal_sep:"-",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"8403",max_amount:"84030175"},KRW:{code:"KRW",title:"South Korean Won",symbol:"₩",native:"₩",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:0,min_amount:"1367",max_amount:"13667698"},KZT:{code:"KZT",title:"Kazakhstani Tenge",symbol:"KZT",native:"₸",thousands_sep:" ",decimal_sep:"-",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"47435",max_amount:"474353706"},LBP:{code:"LBP",title:"Lebanese Pound",symbol:"LBP",native:"ل.ل.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"8950019",max_amount:"89500191612"},LKR:{code:"LKR",title:"Sri Lankan Rupee",symbol:"LKR",native:"රු.",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"30176",max_amount:"301757853"},MAD:{code:"MAD",title:"Moroccan Dirham",symbol:"MAD",native:"د.م.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"987",max_amount:"9874277"},MDL:{code:"MDL",title:"Moldovan Leu",symbol:"MDL",native:"MDL",thousands_sep:",",decimal_sep:".",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1777",max_amount:"17770719"},MMK:{code:"MMK",title:"Myanmar kyat",symbol:"MMK",native:"MMK",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"324796",max_amount:"3247960992"},MNT:{code:"MNT",title:"Mongolian Tögrög",symbol:"MNT",native:"MNT",thousands_sep:" ",decimal_sep:",",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"345000",max_amount:"3450000346"},MOP:{code:"MOP",title:"Macanese pataca",symbol:"MOP",native:"MOP",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"804",max_amount:"8040613"},MUR:{code:"MUR",title:"Mauritian Rupee",symbol:"MUR",native:"MUR",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"4675",max_amount:"46749662"},MVR:{code:"MVR",title:"Maldivian Rufiyaa",symbol:"MVR",native:"MVR",thousands_sep:",",decimal_sep:".",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1535",max_amount:"15350296"},MXN:{code:"MXN",title:"Mexican Peso",symbol:"MX$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"1898",max_amount:"18980550"},MYR:{code:"MYR",title:"Malaysian Ringgit",symbol:"MYR",native:"RM",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"450",max_amount:"4497502"},MZN:{code:"MZN",title:"Mozambican Metical",symbol:"MZN",native:"MTn",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"6390",max_amount:"63899991"},NGN:{code:"NGN",title:"Nigerian Naira",symbol:"NGN",native:"₦",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"163953",max_amount:"1639530235"},NIO:{code:"NIO",title:"Nicaraguan Córdoba",symbol:"NIO",native:"C$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"3679",max_amount:"36791630"},NOK:{code:"NOK",title:"Norwegian Krone",symbol:"NOK",native:"kr",thousands_sep:" ",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1100",max_amount:"10996470"},NPR:{code:"NPR",title:"Nepalese Rupee",symbol:"NPR",native:"नेरू",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"13390",max_amount:"133897859"},NZD:{code:"NZD",title:"New Zealand Dollar",symbol:"NZ$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"168",max_amount:"1679219"},PAB:{code:"PAB",title:"Panamanian Balboa",symbol:"PAB",native:"B/.",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"100",max_amount:"999469"},PEN:{code:"PEN",title:"Peruvian Nuevo Sol",symbol:"PEN",native:"S/.",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"374",max_amount:"3740759"},PHP:{code:"PHP",title:"Philippine Peso",symbol:"PHP",native:"₱",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"5806",max_amount:"58056502"},PKR:{code:"PKR",title:"Pakistani Rupee",symbol:"PKR",native:"₨",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"27836",max_amount:"278360445"},PLN:{code:"PLN",title:"Polish Złoty",symbol:"PLN",native:"zł",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"396",max_amount:"3957640"},PYG:{code:"PYG",title:"Paraguayan Guaraní",symbol:"PYG",native:"₲",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:0,min_amount:"7569",max_amount:"75694544"},QAR:{code:"QAR",title:"Qatari Riyal",symbol:"QAR",native:"ر.ق.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"364",max_amount:"3644355"},RON:{code:"RON",title:"Romanian Leu",symbol:"RON",native:"RON",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"459",max_amount:"4592300"},RSD:{code:"RSD",title:"Serbian Dinar",symbol:"RSD",native:"дин.",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"10802",max_amount:"108020115"},RUB:{code:"RUB",title:"Russian Ruble",symbol:"RUB",native:"₽",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"8990",max_amount:"89898410"},SAR:{code:"SAR",title:"Saudi Riyal",symbol:"SAR",native:"ر.س.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"375",max_amount:"3754022"},SEK:{code:"SEK",title:"Swedish Krona",symbol:"SEK",native:"kr",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1069",max_amount:"10689290"},SGD:{code:"SGD",title:"Singapore Dollar",symbol:"SGD",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"133",max_amount:"1331235"},THB:{code:"THB",title:"Thai Baht",symbol:"฿",native:"฿",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"3535",max_amount:"35351502"},TJS:{code:"TJS",title:"Tajikistani Somoni",symbol:"TJS",native:"TJS",thousands_sep:" ",decimal_sep:";",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1057",max_amount:"10569158"},TRY:{code:"TRY",title:"Turkish Lira",symbol:"TRY",native:"TL",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"3317",max_amount:"33166840"},TTD:{code:"TTD",title:"Trinidad and Tobago Dollar",symbol:"TTD",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"677",max_amount:"6768188"},TWD:{code:"TWD",title:"New Taiwan Dollar",symbol:"NT$",native:"NT$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"3281",max_amount:"32805499"},TZS:{code:"TZS",title:"Tanzanian Shilling",symbol:"TZS",native:"TSh",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"270000",max_amount:"2700000297"},UAH:{code:"UAH",title:"Ukrainian Hryvnia",symbol:"UAH",native:"₴",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!1,drop_zeros:!1,exp:2,min_amount:"4124",max_amount:"41236639"},UGX:{code:"UGX",title:"Ugandan Shilling",symbol:"UGX",native:"USh",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:0,min_amount:"3723",max_amount:"37234902"},USD:{code:"USD",title:"United States Dollar",symbol:"$",native:"$",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!1,drop_zeros:!1,exp:2,min_amount:"100",max_amount:1e6},UYU:{code:"UYU",title:"Uruguayan Peso",symbol:"UYU",native:"$",thousands_sep:".",decimal_sep:",",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"4027",max_amount:"40269076"},UZS:{code:"UZS",title:"Uzbekistani Som",symbol:"UZS",native:"UZS",thousands_sep:" ",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1256851",max_amount:"12568510387"},VND:{code:"VND",title:"Vietnamese Đồng",symbol:"₫",native:"₫",thousands_sep:".",decimal_sep:",",symbol_left:!1,space_between:!0,drop_zeros:!1,exp:0,min_amount:"25218",max_amount:"252175000"},YER:{code:"YER",title:"Yemeni Rial",symbol:"YER",native:"ر.ي.‏",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"25035",max_amount:"250350255"},ZAR:{code:"ZAR",title:"South African Rand",symbol:"ZAR",native:"R",thousands_sep:",",decimal_sep:".",symbol_left:!0,space_between:!0,drop_zeros:!1,exp:2,min_amount:"1819",max_amount:"18193780"}};function lk(a,e,t,s){a=(a+"").replace(/[^0-9+\-Ee.]/g,"");var i=isFinite(+a)?+a:0,n=isFinite(+e)?Math.abs(e):0,r=typeof s>"u"?",":s,o=typeof t>"u"?".":t,l="",c=function(d,u){var h=Math.pow(10,u);return""+Math.round(d*h)/h};return l=(n?c(i,n):""+Math.round(i)).split("."),l[0].length>3&&(l[0]=l[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,r)),(l[1]||"").length{t._==="messageEntitySpoiler"&&(a=cL(a,t).text)}),a}function Cg(a,e){const{text:t,entities:s}=DC(a,e);return je(t,void 0,s)}let oo,fp,nS;const aS=new Map;function ck(a,e){if(!oo){nS=document.getElementById("svg-defs");const r="http://www.w3.org/2000/svg";oo=document.createElementNS(r,"svg"),oo.setAttributeNS(null,"width","26"),oo.setAttributeNS(null,"height","26"),oo.setAttributeNS(null,"viewBox","0 0 26 26"),oo.classList.add("topic-icon-svg");const o=document.createElementNS(r,"use");o.setAttributeNS(null,"href","#topic-icon"),oo.append(o),fp=document.createElement("span"),fp.classList.add("topic-icon","avatar-like");const l=document.createElement("span");l.classList.add("topic-icon-content"),fp.append(oo,l)}a||(console.error("NO TOPIC ICON COLOR!"),a=Xd[0]),e||(console.error("NO TOPIC NAME!"),e="");const t=a.toString(16),s=`topic-icon-gradient-${a}`;let i=aS.get(a);if(!i){const{h:r,s:o,l,a:c}=By("#"+t);nS.insertAdjacentHTML("beforeend",` `),aS.set(a,i=`hsla(${r}, ${o}%, ${Math.max(0,l-40)}%, ${c})`)}const n=fp.cloneNode(!0);return n.firstElementChild.style.fill=`url(#${s})`,n.firstElementChild.style.stroke=i,n.lastElementChild.append(Cg(e,!0)),n}function ab({docIds:a,loadPromises:e,middleware:t,lazyLoadQueue:s,customEmojiSize:i,animationGroup:n}){const r=" ".repeat(a.length),o=[];return a.forEach((c,d)=>{o.push({_:"messageEntityCustomEmoji",offset:d,length:1,document_id:c})}),jt(r,{entities:o,loadPromises:e,animationGroup:n,customEmojiSize:i,middleware:t,lazyLoadQueue:s})}function dk(a){const e=a.loadPromises??(a.loadPromises=[]),t=ab(a);return Promise.all(e).then(()=>t)}function rS(a){const e=a.action,{onclick:t,url:s}=Bo(`tg://voicechat?chat_id=${a.peerId.toChatId()}&id=${e.call.id}&access_hash=${e.call.access_hash}`);if(!t)return document.createElement("span");const i=document.createElement("a");return i.href=s,i.setAttribute("onclick",t+"(this)"),i}function qc(a,e){const t=[],s=[];for(let i=0,n=a.length;ihk.has(e.platform)&&!uk.has(e.reason))}function I_(a){return!!__(a)}function pk(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function P_(a){return!!(a.restriction_reason&&I_(a.restriction_reason))}function rb(a,e){return a=a.replace(/[\u2640\u2642\u2764](?!\ufe0f)/g,(t,s,i)=>{if(e){const n=t.length;s+=n,e.forEach(r=>{const o=r.offset+r.length;o===s?r.length+=n:o>s&&(r.offset+=n)})}return t+"️"}),a}function xv(a,e=[]){a=rb(a,e);const t=Lc(a),s=El(e,t);return{message:a,entities:e,myEntities:t,totalEntities:s}}function Yc(a){const{message:e,entities:t,myEntities:s}=xv(a.text,a.entities),i=El(t,s.filter(n=>n._==="messageEntityCustomEmoji"||n._==="messageEntityEmoji"));return{_:"textWithEntities",text:e,entities:i}}async function mk(a){return{cached:a.cached,result:a.cached?await a.result:a.result}}function Fl(a){return a.then(mk)}const[gk,fk]=Qr({}),M_=a=>{I.managers.appProfileManager.getProfileByPeerId(a).then(e=>{fk(a,Ec(e))})};I.addEventListener("peer_full_update",M_);function L_(a){return V(()=>{if(!a())return;const e=gk[a()];return e||M_(a()),e})}let vp,gf;function E_(a){vp||(vp=new Worker(new URL(""+new URL("tinyld.worker-sOiVgKBT.js",import.meta.url).href,import.meta.url),{type:"module"}),vp.addEventListener("message",t=>{const{lang:s}=t.data;gf.shift().resolve(s)}),gf=[]);const e=Mt();return gf.push(e),vp.postMessage({text:a}),e}const vk=8,yk=.65;let ko,cr,Av,_g=()=>{_g=void 0,[ko,cr]=Qr({}),Ft(()=>{const[a]=Ho();Av=V(()=>new Set(a.translations.doNotTranslate.concat(navigator.language.split("-")[0],Ne.langCodeNormalized()))),le(Vt(Av,e=>pi(()=>{for(const t in ko){const s=ko[t];if(!s)continue;let i=0;for(const n in s.languages)e.has(n)||(i+=s.languages[n]);cr(t.toPeerId(),"totalForeign",i)}}),{defer:!0}))})};function k_(){return{messages:{},languages:{},language:void 0,total:0,totalForeign:0}}function bk(a){_g?.(),Ot(()=>ko[a])||cr(a,k_()),cr(a,"isFull",!0)}async function wk(a,e){if(_g?.(),ko[a]&&ko[a].messages[e])return;const s=Ae.getMessageByPeer(a,e).message;if(!s)return;const i=await E_(s),n=!Av().has(i);pi(()=>{let r=Ot(()=>ko[a]);if(!r)cr(a,r=k_());else if(r.messages[e])return;const o=(r.languages[i]??0)+1,l=r.total+1,c=r.totalForeign+(n?1:0);cr(a,"messages",e,i),cr(a,"languages",i,o),cr(a,"total",l),n&&cr(a,"totalForeign",c);const d=r.language;(r.languages[d]||0){const t=a();if(!t)return;_g?.();const s=ko[t];if(!(s&&s.total{const t=a();let s=ff.get(t);return s||(s={count:0,factory:e},s.value=Ft(i=>(s.dispose=i,e())),ff.set(t,s)),++s.count,ze(()=>{--s.count||(s.dispose(),ff.delete(t))}),s.value})}const[Ck,x_]=Ft(()=>K(I.premium)),oS=()=>{I.managers.rootScope.getPremium().then(x_)};I.addEventListener("premium_toggle",x_);I.myId?oS():I.addEventListener("user_auth",oS);function Ig(){return Ck}function _k(a){const[e,t]=Ho(),s=L_(()=>a),i=Sk(()=>a),n=Ig(),r=V(()=>{if(!(!n()||!s()||!i()||!e.translations.enabled))return!(s().pFlags.translations_disabled||e.translations.doNotTranslate.includes(i()))}),o={peerLanguage:i,language:()=>e.translations.peers[a]||Ne.langCodeNormalized(),setLanguage:l=>t("translations","peers",a,l),enabled:V(()=>!!(n()&&e.translations.enabled&&e.translations.enabledPeers[a])&&r()),toggle:l=>t("translations","enabledPeers",a,l?!0:void 0),shouldShow:r};return le(()=>{o.shouldShow()===!1&&o.enabled()&&o.toggle(!1)}),o}function Qc(a){return T_(()=>Qc.name+"-"+a,()=>_k(a))()}function ui(){const a=Ht();return ze(()=>a.destroy()),a}const Ik=!1;function A_(a){const e=Ik,[t,s]=K(!e),i=V(f=>f||t()),[n,r]=K(),o=Qc(a.peerId),l=Mt();let c=a.textWithEntities,d=!0,u=!1;const h=a.enabled,p=a.container??document.createElement("span");p.classList.add("translatable-message"),a.message&&(wk(a.peerId,a.message.mid),c={_:"textWithEntities",text:a.message.message,entities:a.message.totalEntities}),a.richTextOptions?.loadPromises&&a.richTextOptions.loadPromises.push(l);const m=(f,v)=>Fl(I.managers.acknowledged.appTranslationsManager.translateText({...a.message?{peerId:a.message.peerId,mid:a.message.mid}:{text:a.textWithEntities},lang:f,onlyCache:v})),g=f=>{r(c),p.classList.toggle("text-loading",!!f)};if(a.observer&&a.observeElement&&e){const f=v=>{s(v.isIntersecting)};a.observer.observe(a.observeElement,f),ze(()=>{a.observer.unobserve(a.observeElement,f)})}return le(async()=>{const f=ui().get(),v=d;if(d=!1,!o.enabled()&&!a.enabled||!i()&&!v){g();return}const y=await m(o.language(),v&&e);if(!f())return;if(!y.cached)h?p.classList.add("text-loading"):g(!0);else if(!y.result){g();return}const w=await y.result;if(f()){if(!w){g();return}r(w)}}),le(()=>{let f=n();if(!f)return;a.onTextWithEntities&&(f=a.onTextWithEntities(f)),(c!==f||!a.message)&&(f=Yc(f));const v=ui().get(),y=[],w=jt(f.text,{...a.richTextOptions||{},loadPromises:y,entities:f.entities});Promise.all(y).then(()=>{if(!v())return;const b=()=>{v()&&(l.resolve(),p.replaceChildren(w),(u||h)&&p.classList.remove("text-loading"),u=!0)};if(u&&a.onTranslation){a.onTranslation(b);return}b()})}),p}function Nu(a){return Ft(e=>(a.middleware.onDestroy(e),A_(a)))}async function gm(a){try{return await Pk(a)}catch(e){return console.error("wrapMessageActionTextNewUnsafe error:",e),a.plain?"":document.createElement("span")}}async function To(a){a.text??(a.text=a.message.message),!a.plain&&a.highlightWord&&(a.highlightWord=a.highlightWord.trim());const{message:e,usingMids:t,plain:s,highlightWord:i,withoutMediaType:n}=a,r=[];let o=!1;const l=(g,f,v)=>{if(g){if(f===void 0&&o)return;f=s?Ne.format(g,!0,v):P(g,v)}if(s)r.push(f);else{const y=document.createElement("span");typeof f=="string"?y.innerHTML=f:y.append(f),r.push(y)}},d=(a.managers||I.managers).appMessagesManager,u=()=>a.managers?a.managers.rootScope.getMyId():I.myId,h=P_(e),p={...a,noLinebreaks:!0,noLinks:!0,noTextFormat:!0};let m=e.totalEntities??e.entities;if(e.media&&!h){let g=!0;if(e.grouped_id){if(t){const y=await d.getMidsByMessage(e);if(t.length===y.length){for(const w of y)if(!t.includes(w)){g=!1;break}}else g=!1}if(g){const y=await d.getGroupedText(e.grouped_id);a.text=y?.message||"",m=y?.totalEntities||[],n||(l("AttachAlbum"),o=!0)}}else g=!1;let f=1;if(!g&&!n||!a.text){const y=e.media;switch(y?._){case"messageMediaPhoto":l("AttachPhoto");break;case"messageMediaDice":l(void 0,s?y.emoticon:je(y.emoticon));break;case"messageMediaVenue":{a.text=y.title,l("AttachLocation");break}case"messageMediaGeo":l("AttachLocation");break;case"messageMediaGeoLive":l("AttachLiveLocation");break;case"messageMediaPoll":const w="📊 ";if(s){const b=w+y.poll.question.text;l(void 0,b)}else{const b=Yc(y.poll.question),S=jt(b.text,{...p,entities:b.entities});S.prepend(je(w)),l(void 0,S)}break;case"messageMediaContact":l("AttachContact");break;case"messageMediaGame":{const b="🎮 "+y.game.title;l(void 0,s?b:je(b));break}case"messageMediaDocument":{const b=y.document;if(b.type==="video")l("AttachVideo");else if(b.type==="voice")l("AttachAudio");else if(b.type==="gif")l("AttachGif");else if(b.type==="round")l("AttachRound");else if(b.type==="sticker"){const S=r.length;if(b.stickerEmojiRaw){const M=b.stickerEmojiRaw+" ";l(void 0,s?M:je(M))}l("AttachSticker");const _=r.splice(S,2);if(s)r.push(_[0]+(_[1]?_[1]:""));else{const M=window.document.createElement("span");M.append(..._),r.push(M)}a.text=""}else if(b.type==="audio"){const S=b.attributes.find(M=>M._==="documentAttributeAudio"&&(M.title||M.performer)),_="🎵 "+(S?[S.title,S.performer].filter(Boolean).join(" - "):b.file_name);l(void 0,s?_:je(_))}else l(void 0,s?b.file_name:je(b.file_name));break}case"messageMediaInvoice":{y.extended_media?._==="messageExtendedMediaPreview"?l(void 0,s?y.description:je(y.description)):l(void 0,s?y.title:je(y.title));break}case"messageMediaUnsupported":{l(mv);break}case"messageMediaStory":{if(y.pFlags.via_mention){const b=it(y.peer),S=b===await u();l(S?"StoryMentionYou":"StoryMention",void 0,[await qe({peerId:S?e.peerId:b,plainText:s})])}else l("Story");break}case"inputMediaWebPage":case"messageMediaPhotoExternal":case"messageMediaDocumentExternal":case"messageMediaWebPage":break;case"messageMediaGiveaway":{const b=Dy(new Date(y.until_date*1e3));l("Giveaway.ToBeSelectedFull",void 0,[P("Giveaway.ToBeSelected",[y.quantity,s?b.textContent:b])]);break}case"messageMediaGiveawayResults":{const{langPackKey:b,args:S}=F_(y,s);l(b,void 0,S);break}case"messageMediaPaidMedia":{const b=y.extended_media,[S,_]=qc(b,C=>C._==="messageExtendedMediaPreview"?C.video_duration===void 0:C.media._==="messageMediaPhoto");s||(f+=2,l(void 0,Be("star","xtr-icon")),l(void 0," "));const M=S.length+_.length;if(M<2){l(S.length?"AttachPhoto":"AttachVideo");break}l(S.length&&_.length?"Media":S.length?"Photos":"Videos",void 0,[M]);break}default:l(mv),a.text="";break}}const v=r.length;for(;f({...f,text:Ya(f.text,100)})}):(g=jt(a.text,{...p,entities:m}),g=$u(g)),r.push(g)}if(s)return r.join("");{const g=document.createDocumentFragment();return g.append(...r),g}}function fm(a){return a._==="payments.checkedGiftCode"?!a.from_id:(a.amount||a.crypto_amount)!==void 0}async function lS(a){const e=await To(a);if(a.plain)return e;const t=document.createElement("i");return t.dataset.savedFrom=a.message.peerId+"_"+a.message.mid,t.append(e),Xr(t),t}function eh(a,e){return e?a:nb(je(a))}async function Pg(a){const e=a.topic;let t=e?.icon_emoji_id;return e?.id===Tu&&(t="5390854796011906616"),t?a.plain?I.managers.appEmojiManager.getCustomEmojiDocument(t).then(s=>s.stickerEmojiRaw):dk({...a,docIds:[t]}).then(s=>(s.lastElementChild.classList.add("topic-icon"),s)):a.plain?"":ck(e?.icon_color,e?.title)}function R_(a){const e=a.message.action;return Pg({...a,topic:e})}async function cS(a){const e=a.message.action,t=document.createElement("span");return t.classList.add("topic-name"),t.append(await R_(a),eh(e.title,a.plain)),t}function F_(a,e){let t="Giveaway.Results",s=[a.winners_count];const i=(n,r)=>{s=[e?Ne.format(t,!0,s):P(t,s)],t="Giveaway.Results.Combined",s.push(e?Ne.format(n,!0,r):P(n,r))};return a.winners_count?a.unclaimed_count&&i("Giveaway.Results.Unclaimed",[a.unclaimed_count]):(t=a.pFlags.stars?"Giveaway.Results.NoWinners.Stars":"Giveaway.Results.NoWinners",s=[a.unclaimed_count]),{langPackKey:t,args:s}}async function Pk(a){const{plain:e,message:t,noLinks:s}=a,i=e?void 0:document.createElement("span"),n="action"in t&&t.action;if(n._==="messageActionCustomAction"&&n.message){const r=n.message;return e?Oo(r):(Qt(i,jt(r,{noLinebreaks:!0})),i)}else{let r=n._,o,l;const c=I.managers,d=(p,m)=>m?Gr({peerId:p,plainText:m}):qe({peerId:p}),u=async(p,m)=>{if(p.length===1)return d(p[0],m);const g=Yi(await Promise.all(p.map(f=>d(f,m))),!1,m);if(m)return Array.isArray(g)?g.join(""):g;{const f=document.createElement("span");return f.append(...g),l.push(f),f}};switch(n._){case"messageActionPhoneCall":{r+="."+n.type,l=[Gp(n.duration,e)];break}case"messageActionGroupCall":{r+="."+n.type,l=[],!r.endsWith("You")&&!t.pFlags.post&&l.push(d(t.fromId,e)),n.duration!==void 0?l.push(Gp(n.duration,e)):s?l.push(""):l.push(rS(t));break}case"messageActionInviteToGroupCall":{const p=[t.fromId,n.users[0].toPeerId()];let m="Chat.Service.VoiceChatInvitation";const g=I.myId;p[0]===g?m+="ByYou":p[1]===g&&(m+="ForYou"),Vs(p,g),o=m,l=p.map(f=>d(f,e)),l.push(s?"":rS(t));break}case"messageActionGroupCallScheduled":{const p=new Date,m=new Date(n.schedule_date*1e3),g=(m.getTime()-p.getTime())/864e5,f=new Date(p);f.setDate(f.getDate()+1);const v=await c.appPeersManager.isBroadcast(t.peerId);o=v?"ChatList.Service.VoiceChatScheduled.Channel":"ChatList.Service.VoiceChatScheduled",l=[];const y=I.myId;t.fromId===y?o+="You":v||l.push(d(t.fromId,e));let w;const b=[];g<1&&m.getDate()===p.getDate()?w="TodayAtFormattedWithToday":g<2&&m.getDate()===f.getDate()?w="Time.TomorrowAt":(w="formatDateAtTime",b.push(new Ne.IntlDateElement({date:m,options:{day:"2-digit",month:"2-digit",year:"2-digit"}}).element)),b.push(Ny(m));const S=P(w,b);l.push(S);break}case"messageActionChatCreate":{const p=I.myId;t.fromId===p?r+="You":l=[d(t.fromId,e)];break}case"messageActionPinMessage":{const p=t.peerId,m=await c.appMessagesManager.getMessageByPeer(p,t.reply_to_mid);l=[d(t.fromId,e)],m?l.push(lS({...a,message:m})):(o="ActionPinnedNoText",t.reply_to_mid&&c.appMessagesManager.fetchMessageReplyTo(t));break}case"messageActionChatJoinedByRequest":{const p=await c.appPeersManager.isBroadcast(t.peerId);t.pFlags.out?o=p?"RequestToJoinChannelApproved":"RequestToJoinGroupApproved":(o=p?"ChatService.UserJoinedChannelByRequest":"ChatService.UserJoinedGroupByRequest",l=[d(t.fromId,e)]);break}case"messageActionGiveawayLaunch":{o=n.stars?"BoostingStarsGiveawayJustStarted":"BoostingGiveawayJustStarted",l=[d(t.fromId,e)],n.stars&&l.unshift(+n.stars);break}case"messageActionContactSignUp":case"messageActionChatReturn":case"messageActionChatLeave":case"messageActionChatJoined":case"messageActionChatEditPhoto":case"messageActionChatDeletePhoto":case"messageActionChatEditVideo":case"messageActionChatJoinedByLink":case"messageActionChannelEditVideo":case"messageActionChannelDeletePhoto":{l=[d(t.fromId,e)];break}case"messageActionChannelEditTitle":case"messageActionChatEditTitle":{l=[],n._==="messageActionChatEditTitle"&&l.push(d(t.fromId,e)),l.push(eh(n.title,e));break}case"messageActionChatDeleteUser":case"messageActionChatAddUsers":case"messageActionChatAddUser":{const p=n.users||[n.user_id];l=[d(t.fromId,e)];const m=p.map(g=>g.toPeerId(!1));l.push(u(m,e));break}case"messageActionBotAllowed":{if(n.pFlags?.attach_menu){o="ActionAttachMenuBotAllowed";break}else if(n.pFlags?.from_request){o="ActionBotAllowedRequest";break}else if(!n.domain)break;const p=jt(n.domain,{entities:[{_:"messageEntityUrl",length:n.domain.length,offset:0}],noLinks:s});l=[nb(p)];break}case"messageActionPaymentSent":{const p=n.pFlags.recurring_init,m=n.pFlags.recurring_used;if(o=m?"Chat.Service.PaymentSentRecurringUsedNoTitle":p?"Chat.Service.PaymentSentRecurringInitNoTitle":"Chat.Service.PaymentSent1NoTitle",l=[qi(n.total_amount,n.currency,void 0,void 0,e),d(t.peerId,e)],t.reply_to_mid){const f=t.reply_to,v=await c.appMessagesManager.getMessageByPeer(f?.reply_to_peer_id?it(f.reply_to_peer_id):t.peerId,t.reply_to_mid);v?(o=m?"Chat.Service.PaymentSentRecurringUsed":p?"Chat.Service.PaymentSentRecurringInit":"Chat.Service.PaymentSent1",l.push(lS({...a,message:v}).then(y=>(y instanceof HTMLElement&&y.classList.add("is-receipt-link"),y)))):c.appMessagesManager.fetchMessageReplyTo(t)}break}case"messageActionPaymentRefunded":{const p=qi(n.total_amount,n.currency,void 0,void 0,e);l=[d(t.fromId,e),p],o="Chat.Service.Refund";break}case"messageActionSetMessagesTTL":{l=[];const p=await c.appPeersManager.isBroadcast(t.peerId);if(n.period){p?o="ActionTTLChannelChanged":t.fromId===I.myId?o="ActionTTLYouChanged":(o="ActionTTLChanged",l.push(d(t.fromId,e)));let m;if(n.period>1814400){let g;const f=[];n.period>=31536e3?(g="Years",f.push(n.period/31536e3|0)):(g="Months",f.push(n.period/($y*30)|0)),m=e?Ne.format(g,!0,f):P(g,f)}else m=Gp(n.period,e);l.push(m)}else p?o="ActionTTLChannelDisabled":t.fromId===I.myId?o="ActionTTLYouDisabled":(o="ActionTTLDisabled",l.push(d(t.fromId,e)));break}case"messageActionTopicEdit":{let p,m,g;const f=!!t.pFlags.out,v=n.icon_emoji_id!==void 0,y=v&&!+n.icon_emoji_id,w=n.title!==void 0,b=n.hidden!==void 0;f||(g=d(t.fromId,e)),w&&(m=eh(n.title,e)),v&&!y&&(p=R_(a)),l=g?[g]:[],n.closed?o=f?"Chat.Service.Group.TopicEdited.You.Paused":"Chat.Service.Group.TopicEdited.Paused":n.closed===!1?o=f?"Chat.Service.Group.TopicEdited.You.Resumed":"Chat.Service.Group.TopicEdited.Resumed":y&&w?(o=f?"Chat.Service.TopicEdited.You.Mixed.IconRemoved":"Chat.Service.TopicEdited.Mixed.IconRemoved",l.push(m)):v&&w?(o=f?"Chat.Service.TopicEdited.You.Mixed":"Chat.Service.TopicEdited.Mixed",l.push(cS(a))):y?o=f?"Chat.Service.Group.TopicEdited.You.Icon.Removed":"Chat.Service.Group.TopicEdited.Icon.Removed":w?(o=f?"Chat.Service.Group.TopicEdited.You.Title":"Chat.Service.Group.TopicEdited.Title",l.push(m)):v?(o=f?"Chat.Service.Group.TopicEdited.You.Icon":"Chat.Service.Group.TopicEdited.Icon",l.push(p)):b&&(o=f?n.hidden?"Chat.Service.Group.TopicEdited.You.Hided":"Chat.Service.Group.TopicEdited.You.Unhided":n.hidden?"Chat.Service.Group.TopicEdited.Hided":"Chat.Service.Group.TopicEdited.Unhided");break}case"messageActionTopicCreate":{l=[cS(a)],o="TopicWasCreatedAction";break}case"messageActionSetChatTheme":{const p=!!t.pFlags.out;let m;p||(m=d(t.fromId,e)),l=m?[m]:[],n.emoticon?(l.push(eh(n.emoticon,e)),o=p?"ChatThemeChangedYou":"ChatThemeChangedTo"):o=p?"ChatThemeDisabledYou":"ChatThemeDisabled";break}case"messageActionPrizeStars":{o="BoostingReceivedGiftNoName";break}case"messageActionGiftStars":case"messageActionGiftCode":case"messageActionGiftPremium":{const p=n._==="messageActionGiftCode";if(p&&!fm(n)){o="BoostingReceivedGiftNoName",n.boost_peer&&(o="BoostingReceivedGiftFrom",l=[d(it(n.boost_peer),e)]);break}const m=!!t.pFlags.out&&!p;let g;m||(g=d(t.fromId,e)),l=g?[g]:[],l.push(qi(n.amount,n.currency,!1,!0,e)),o=m?"ActionGiftOutbound":"ActionGiftInbound";break}case"messageActionWebViewDataSent":{o="ActionBotWebViewData",l=[eh(n.text,e)];break}case"messageActionRequestedPeer":{o="Chat.Service.PeerRequested",l=[u(n.peers.map(p=>it(p)),e),d(t.peerId,e)];break}case"messageActionGiveawayResults":{const p=F_(n,e);o=p.langPackKey,l=p.args;break}case"messageActionSetChatWallPaper":{const p=t.peerId.isUser();if(l=[d(p?t.peerId:t.fromId,e)],p){t.pFlags.out?o=n.pFlags.for_both?"ActionSetWallpaperForThisChatSelfBoth":n.pFlags.same?"ActionSetSameWallpaperForThisChatSelf":"ActionSetWallpaperForThisChatSelf":o=n.pFlags.for_both?"ActionSetWallpaperForThisChatBoth":n.pFlags.same?"ActionSetSameWallpaperForThisChat":"ActionSetWallpaperForThisChat";break}if(await c.appPeersManager.isBroadcast(t.peerId)){o="ActionSetWallpaperForThisChannel";break}o=t.fromId===t.peerId?"ActionSetWallpaperForThisGroup":"ActionSetWallpaperForThisGroupByUser";break}case"messageActionPaidMessagesPrice":{o=!+n.stars?"PaidMessages.GroupPriceChangedFree":"PaidMessages.GroupPriceChanged",l=[+n.stars];break}case"messageActionPaidMessagesRefunded":{o="PaidMessages.StarsRefundedShort",l=[+n.stars];break}case"messageActionStarGift":t.pFlags.out?(o="StarGiftSentMessageOutgoing",l=[n.gift.stars]):(o="StarGiftSentMessageIncoming",l=[d(t.fromId,e),n.gift.stars]);break;case"messageActionStarGiftUnique":n.pFlags.upgrade?o=t.pFlags.out?"ActionGiftUpgradedOutbound":"ActionGiftUpgradedInbound":o=t.pFlags.out?"ActionGiftTransferredOutbound":"ActionGiftTransferredInbound",l=[d(t.peerId,e)];break;default:o=om[r]||`[${n._}]`;break}o||(o=om[r],o===void 0&&(o="["+r+"]"));const h=l&&await Promise.all(l);return e?Ne.format(o,!0,h):ks(i,o,h)}}const B_=new WeakMap;I.addEventListener("peer_title_edit",({peerId:a,threadId:e})=>{let t=`.peer-title[data-peer-id="${a}"]`;e&&(t+=`[data-thread-id="${e}"]`),Array.from(document.querySelectorAll(t)).forEach(i=>{B_.get(i)?.update()})});class Xt{constructor(e){this.element=document.createElement("span"),this.element.classList.add("peer-title"),Xr(this.element),this.options={},e&&this.update(e),B_.set(this.element,this)}setOptions(e){if(e){Nt(this.options,e);for(const t in e){const s=e[t];typeof s!="object"&&typeof s!="function"&&(this.element.dataset[t]=s?""+(typeof s=="boolean"?+s:s):"0")}}}setHasInner(e){this.hasInner!==e&&(this.hasInner=e,this.element.classList.toggle("with-icons",e))}async update(e){var r;this.setOptions(e);let t=this.options.fromName;if(t!==void 0){this.options.limitSymbols!==void 0&&(t=Ya(t,this.options.limitSymbols,this.options.limitSymbols)),Qt(this.element,je(t));return}(r=this.options).peerId??(r.peerId=Wt);let s;const{peerId:i,threadId:n}=this.options;if(i===I.myId&&this.options.dialog){let o;this.options.meAsNotes?o=P(this.options.onlyFirstName?"MyNotesShort":"MyNotes"):o=P(this.options.onlyFirstName?"Saved":"SavedMessages"),St(this.element,o)}else if(i===Oy)St(this.element,P(this.options.onlyFirstName?"AuthorHiddenShort":"AuthorHidden"));else{if(n){const[u,h]=await Promise.all([I.managers.dialogsStorage.getForumTopic(i,n),I.managers.appPeersManager.isForum(i)]);if(!u&&h){I.managers.dialogsStorage.getForumTopicById(i,n).then(p=>{if(!p&&this.options.threadId===n){this.options.threadId=void 0,this.update({threadId:void 0});return}this.update()},()=>{this.options.threadId===n&&(this.options.threadId=void 0,this.update({threadId:void 0}))}),Qt(this.element,P("Loading")),this.setHasInner(!1);return}}const o=n&&this.options.withIcons?I.managers.dialogsStorage.getForumTopic(i,n).then(u=>Pg({...this.options.wrapOptions??{},topic:u})):void 0,[l,c,d]=await Promise.all([Gr(this.options),this.options.withIcons&&Tv({peerId:i,wrapOptions:this.options.wrapOptions})||this.options.withPremiumIcon&&Tv({peerId:i,wrapOptions:this.options.wrapOptions,noVerifiedIcon:!0,noFakeIcon:!0}),o]);if(c?.length||d){const u=document.createElement("span");u.classList.add("peer-title-inner"),s=!0,Qt(u,l);const h=document.createDocumentFragment();h.append(...[d,u,...c??[]].filter(Boolean)),Qt(this.element,h)}else Qt(this.element,l)}this.setHasInner(s)}}function D_(a,e){const t=a.querySelector(".emoji-status-text-color"),s=t&&Ns.getAnimation(t);s&&s.setColor(e,!0)}async function qe(a){const e=new Xt;return await e.update(a),e.element}function Rv(a){const e=new Xt;return le(()=>e.update(a)),e.element}function $_(a,e){const t=Array.isArray(e)?e:dL(e);let s=a;for(const i of t)if(s=s?.[i],!s)break;return s}class _t{constructor(e={}){const t=this.label=document.createElement("label");t.classList.add("checkbox-field"),e.restriction&&!e.toggle&&t.classList.add("checkbox-field-restriction"),e.round&&t.classList.add("checkbox-field-round"),e.disabled&&this.toggleDisability(!0),this.listenerSetter=e.listenerSetter;const s=this.input=document.createElement("input");if(s.classList.add("checkbox-field-input"),s.type=e.asRadio?"radio":"checkbox",e.name&&(s[e.asRadio?"name":"id"]="input-"+e.name),e.checked&&(s.checked=!0),e.stateKey){let n=e.checked!==void 0;const r=()=>{if(!n)return;let o;e.stateValues?o=e.stateValues[s.checked?1:0]:(o=s.checked,e.stateValueReverse&&(o=!o)),I.managers.appStateManager.setByKey(e.stateKey,o)};!n&&Ae.getState().then(o=>{n=!0;const l=$_(o,e.stateKey);let c;e.stateValues?c=e.stateValues.indexOf(l)===1:(c=l,e.stateValueReverse&&(c=!c)),this.setValueSilently(c)}),e.listenerSetter?e.listenerSetter.add(s)("change",r):s.addEventListener("change",r)}let i;if(e.text?(i=this.span=document.createElement("span"),i.classList.add("checkbox-caption"),ks(i,e.text,e.textArgs)):t.classList.add("checkbox-without-caption"),t.append(s),e.toggle){t.classList.add("checkbox-field-toggle"),e.restriction&&t.classList.add("checkbox-field-toggle-restriction");const n=document.createElement("div");n.classList.add("checkbox-toggle");const r=document.createElement("div");r.classList.add("checkbox-toggle-circle"),n.append(r),t.append(n)}else{const n=document.createElement("div");n.classList.add("checkbox-box");const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("checkbox-box-check"),r.setAttributeNS(null,"viewBox","0 0 24 24");const o=document.createElementNS("http://www.w3.org/2000/svg","use");o.setAttributeNS(null,"href","#check"),o.setAttributeNS(null,"x","-1"),r.append(o);const l=document.createElement("div");l.classList.add("checkbox-box-background");const c=document.createElement("div");c.classList.add("checkbox-box-border"),n.append(c,l,r),t.append(n)}i&&t.append(i),e.withRipple?(t.classList.add("checkbox-ripple","hover-effect"),Ei(t,void 0,void 0,!0)):e.withHover&&t.classList.add("hover-effect")}get checked(){return this.input.checked}set checked(e){this.setValueSilently(e),md(this.input,"change")}setValueSilently(e){this.input.checked=e}isDisabled(){return this.label.classList.contains("checkbox-disabled")}toggleDisability(e){return this.label.classList.toggle("checkbox-disabled",e),this.input.disabled=e,()=>this.toggleDisability(!e)}}function Mk(a){const e=a?.restriction_reason;return!!(e&&a.pFlags.restricted&&I_(e))}function Lk(a){if(!(!a||Mk(a)))return a?.photo}function Ek(a){let e="";return a&&(e=a.title??[a.first_name,a.last_name].filter(Boolean).join(" ")),Cg(e)}function kl(a){const e=new Array(a.childNodes.length);let t=a.firstChild,s=0;for(;t;)e[s++]=t.nodeType===t.TEXT_NODE?t.nodeValue:t,t=t.nextSibling;return e}class kk{constructor(){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.dpr=window.devicePixelRatio}prepare(e){this.canvas.width=this.width=e.width*this.dpr,this.canvas.height=this.height=e.height*this.dpr,this.centerX=this.width/2,this.centerY=this.height/2,this.radius=e.radius*this.dpr,this.gapLength=e.gap*this.dpr,this.totalLength=Math.PI*this.radius*2,this.startAngle=-1.5}render(e){this.context.clearRect(0,0,this.width,this.height);const t=e.reduce((n,r)=>n+r.length,0),s=e.length;this.context.lineCap="round",e.length===1&&e[0].length===1?this.context.setLineDash([]):this.context.setLineDash([this.totalLength/t-this.gapLength,this.gapLength]);let i=0;for(let n=0;nlm.mutateElement(a,()=>{i?.append(e),s?(o?.(),r.addEventListener("animationend",()=>{lm.mutate(()=>{r.classList.remove("fade-in"),n?.remove(),a.classList.add("no-background"),l?.()})},{once:!0})):(n?.remove(),a.classList.add("no-background"),o?.(),l?.())}))}const yp=Symbol("RAF"),vf=Symbol("TIMEOUT"),Dt=a=>{const{element:e,className:t,forwards:s,duration:i,onTransitionEnd:n,onTransitionStart:r,useRafs:o}=a,l=t&&t.split(" "),c=e[vf],d=e[yp];if(c!==void 0&&clearTimeout(+c),d!==void 0&&(window.cancelAnimationFrame(+d),o||delete e[yp]),o&&wt.isAvailable("animations")&&i){e[yp]=""+window.requestAnimationFrame(()=>{delete e[yp],Dt({...a,useRafs:o-1})});return}s&&t&&e.classList.add(...l);const u=()=>{delete e[vf],!s&&t&&e.classList.remove("backwards",...l),e.classList.remove("animating"),n?.()};if(r?.(),!wt.isAvailable("animations")||!i){e.classList.remove("animating","backwards"),u();return}e.classList.add("animating"),e.classList.toggle("backwards",!s),e[vf]=""+setTimeout(u,i)},yf=200;class Kn{constructor(e){this.tempId=0,this.detached=!0,this.promise=null,this.isUpload=!1,this.cancelable=!0,this.streamable=!1,this.rtmp=!1,this.tryAgainOnFail=!0,this.attachMethod="append",this.onClick=t=>{t&&_e(t),this.preloader.classList.contains("manual")?this.loadFunc?.(t):this.promise?.cancel?.()},e&&Nt(this,e),this.isUpload&&(this.tryAgainOnFail=!1)}constructContainer(e={}){this.preloader||(this.preloader=document.createElement("div"),this.rtmp?this.preloader.classList.add("preloader-container-rtmp"):this.preloader.classList.add("preloader-container"),e.color&&this.preloader.classList.add("preloader-"+e.color),e.bold&&this.preloader.classList.add("preloader-bold"),this.streamable&&this.preloader.classList.add("preloader-streamable"))}constructDownloadIcon(){this.constructContainer()}construct(){this.construct=null,this.constructContainer(),this.rtmp?this.preloader.innerHTML=`
`:this.preloader.innerHTML=`
`,this.streamable?this.totalLength=118.61124420166016:this.totalLength=149.82473754882812,this.cancelable?(this.preloader.innerHTML+=` `,this.downloadSvg=this.preloader.lastElementChild,this.cancelSvg=this.downloadSvg.previousElementSibling):this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,this.cancelable&&J(this.preloader,this.onClick)}setDownloadFunction(e){this.loadFunc=e}setManual(){this.preloader.classList.add("manual"),this.setProgress(0)}attachPromise(e){if(this.isUpload&&this.promise)return;this.promise=e;const t=--this.tempId,s=Date.now(),i=n=>{if(e.notify=e.notifyAll=null,t!==this.tempId)return;const r=Date.now()-s;if(!n&&this.cancelable){this.setProgress(100);const o=yf*.75;r{t===this.tempId&&this.detach()},o)}else this.tryAgainOnFail?(this.attach(this.preloader.parentElement),$s(()=>{this.setManual()})):this.detach();this.promise=e=null};e.then(()=>i(null)).catch(n=>i(n)),e.addNotifyListener?.(n=>{if(t!==this.tempId)return;const r=n.done/n.total*100;this.setProgress(r)})}attach(e,t=!1,s){if(!this.detached&&(!this.preloader||!this.preloader.classList.contains("manual")))return;this.construct?.(),this.preloader.parentElement&&this.preloader.classList.remove("manual"),this.detached=!1,s&&this.attachPromise(s);let i=0;(this.detached||this.preloader.parentElement!==e)&&(i=mr(this.preloader)?1:2,this.preloader.parentElement!==e&&e[this.attachMethod](this.preloader)),Dt({element:this.preloader,className:"is-visible",forwards:!0,duration:yf,useRafs:i}),this.cancelable&&t&&this.setProgress(0)}detach(){this.detached||(this.detached=!0,this.preloader?.parentElement&&Dt({element:this.preloader,className:"is-visible",forwards:!1,duration:yf,onTransitionEnd:()=>{this.preloader.remove()},useRafs:1}))}setProgress(e){if(!(!this.totalLength&&!mr(this.circle))){if(e===0){this.circle.style.strokeDasharray="";return}try{this.totalLength||(this.totalLength=this.circle.getTotalLength()),this.circle.style.strokeDasharray=""+Math.max(5,e/100*this.totalLength)+", "+this.totalLength}catch{}}}}function zh({photo:a,cacheContext:e,useBlur:t,ignoreCache:s,onlyStripped:i}){const n=["video","gif"].includes(a.type);if(!e.downloaded||n||s){if(a._==="document"&&e.downloaded&&!s&&(!n||e.type!==Uy))return null;const r=a.sizes||a.thumbs,o=r?.length;if(!o)return null;let l=-1;if(!i)for(let d=o-1;d>=0;--d){const u=r[d];if(u.type===e.type)l=d;else if(l){const h=Ae.getCacheContext(a,u.type);if(h.downloaded)return gv(a,u,!1,h.url)}}const c=r.find(d=>d._==="photoStrippedSize");if(c&&"bytes"in c)return gv(a,c,t)}return null}const Fv=320,Tk=120,xk=200,Ak=368;function Tc({photo:a,element:e,boxWidth:t,boxHeight:s,noZoom:i=!0,message:n,pushDocumentSize:r,photoSize:o,size:l,canHaveVideoPlayer:c}){const d=$C(a);!o&&!l&&(o=ha(a,t,s,void 0,r));const u=a?._==="document";l||(u||d?l=ii(a.w||o.w||512,a.h||o.h||512):l=ii(o.w||100,o.h||100));let h=ii(t,s);h=l=l.aspect(h,i);let p=!0;if(!u||["video","gif"].includes(a.type)||d){const m=xk;h.width{const ae=B&&!c;return fs.downloadMediaURL({media:a,thumb:c,queueId:o&&o.queueId,onlyCache:ae?void 0:G})},z=ae=>N_({container:t,media:j,url:ae,needFadeIn:q,aspecter:O,thumbImage:D,fadeInElement:w,onRender:b,onRenderFinish:S,useRenderCache:M}),Z=async ae=>{if(!(l&&!l())){if(y&&(ae=await y(ae)),f){const ke=pL(ae,12);return ke.promise.then(()=>z(ke.canvas.toDataURL()))}return z(ae)}};let de;const ie=!x&&c.w>=150&&c.h>=150||G,oe=async()=>{G&&!d&&W&&(W.construct(),W.setManual());const ae=ee(),ke=Ae.getCacheContext(a,c?.type);W&&!ke.downloaded&&!d&&ie&&W.attach(t,!1,ae),G=void 0;const re=ae.then(Z);return re.catch(as),{download:ae,render:re}};return W&&W.setDownloadFunction(oe),U.downloaded?H=de=(await oe()).render:o?o.push({div:t,load:()=>oe().then(({download:ae})=>ae)}):de=(await oe()).render,u&&H&&u.push(H),E.loadPromises.thumb=H,E.loadPromises.full=de||Promise.resolve(),E.preloader=W,E}function Mg(){const[a,e]=K(Ls.isNight());return Ta(I)("theme_changed",()=>{e(Ls.isNight())}),a}const Rk=Y('',!1,!0),Fk=Y('');function dS(a){return(()=>{const e=Rk();return Me(()=>Es(e,"class",a.stroke&&"currency-star-icon-stroke")),e})()}function ob(a={}){return(()=>{const e=Fk(),t=e.firstChild;return k(e,(()=>{const s=V(()=>!!a.stroke);return()=>s()&&T(dS,{stroke:!0})})(),t),k(e,T(dS,{}),t),Me(()=>Es(e,"class",Ge("currency-star-icon",a.class))),e})()}const Bk=Y("
"),Dk=Y("
"),$k=Y("
"),Nk=Y("
"),Ok=200,yc=new Map,ic=new Map,bf=new Set;function lb(a,e){return a+(e?"_"+e:"")}const O_=({peerId:a,threadId:e})=>{const t=lb(a,e),s=yc.get(t);if(s?.size)for(const i of s)i.render()},Lg=({peerId:a})=>{const e=lb(a),t=yc.get(e);if(t?.size)for(const s of t)s.updateStoriesSegments()};I.addEventListener("avatar_update",O_);I.addEventListener("peer_title_edit",async a=>{await I.managers.appAvatarsManager.isAvatarCached(a.peerId)||O_(a)});I.addEventListener("peer_stories",({peerId:a})=>{Lg({peerId:a})});I.addEventListener("stories_read",Lg);I.addEventListener("story_deleted",Lg);I.addEventListener("story_new",Lg);const hS=async(a,e)=>{if(e){const s=[{length:1,type:await I.managers.appStoriesManager.getUnreadType(a,e)}];return{cached:!0,result:Promise.resolve(s)}}return I.managers.acknowledged.appStoriesManager.getPeerStoriesSegments(a)},Uk=(a,e,t)=>{const s=a.createLinearGradient(e*.9156*t,e*-.05695821429*t,e*.1342364286*t,e*1.02370714286*t);return s.addColorStop(0,yi.getProperty("avatar-color-story-unread-from")),s.addColorStop(1,yi.getProperty("avatar-color-story-unread-to")),s},Hk=(a,e,t)=>{const s=a.createLinearGradient(e*.5*t,e*0*t,e*.5*t,e*1*t);return s.addColorStop(0,yi.getProperty("avatar-color-story-close-from")),s.addColorStop(1,yi.getProperty("avatar-color-story-close-to")),s};function Wh(a){let e=ne(a,"avatar");return e&&(e=ne(e,"has-stories")||e),e}const Gk=a=>{const e=Math.round(a*.8888888888888888),t=a*(1+2/54),s=a/54,i=2*s;return{size:a,willBeSize:e,totalSvgSize:t,multiplier:s,strokeWidth:i}};function U_(a,e,t=100,s){return Bi({container:a.node,message:null,photo:e,boxHeight:t,boxWidth:t,withoutPreloader:!0,size:s}).then(i=>(a.node.classList.replace("media-container","avatar-relative"),a.node.style.width=a.node.style.height="",[i.images.thumb,i.images.full].forEach(n=>{n&&n.classList.replace("media-photo","avatar-photo")}),i.images.thumb&&i.images.thumb.classList.add("avatar-photo-thumbnail"),i.loadPromises.thumb))}function Vk(a){const[e,t]=K(),s=V(n=>{if(e()!==void 0)return n?.size===a.size?n:Gk(a.size)}),i=V(()=>{const n=s();if(!n)return;let r;if(a.isStoryFolded!==void 0){const f=V(()=>{const v=e();return(v.find(b=>b.type==="close")||v.find(b=>b.type==="unread")||v[0]).type});r=(()=>{const v=Bk();return Me(y=>er(v,{["is-"+f()]:!0},y)),v})()}const o=(f,v)=>f.type==="read"?{color:a.colors?.read||yi.getProperty("avatar-color-story-read"),length:f.length,lineWidth:n.strokeWidth/2}:f.type==="close"||v?{color:p??(p=Hk(d,c.width,u)),length:f.length,lineWidth:n.strokeWidth}:{color:h??(h=Uk(d,c.width,u)),length:f.length,lineWidth:n.strokeWidth},l=new kk,{canvas:c,context:d,dpr:u}=l;l.prepare({radius:n.size/2,gap:4*n.multiplier,width:n.totalSvgSize,height:n.totalSvgSize});let h,p;c.style.setProperty("--offset",`${(n.totalSvgSize-n.size)/-2}px`),c.classList.add("avatar-stories-svg");const m=()=>{const f=e(),v=f.find(b=>b.type==="close");let y=f.map(b=>o(b,!!v));const w=y.reduce((b,S)=>b+S.length,0);w>30&&(y=y.map(b=>({...b,length:Math.floor(b.length/w*30)})).filter(b=>b.length>0)),l.render(y)},g=Mg();return le(Vt([g,e],()=>{h=p=void 0,m()})),r?[c,r]:c});return{setStoriesSegments:t,storyDimensions:s,storiesCircle:i}}const jn=a=>{const[e,t]=K(!1),[s,i]=K(),[n,r]=K(),[o,l]=K(),[c,d]=K(),[u,h]=K(),[p,m]=K(!1),[g,f]=K(!1),[v,y]=K(!1),{setStoriesSegments:w,storyDimensions:b,storiesCircle:S}=Vk({size:a.size,colors:a.storyColors,isStoryFolded:a.isStoryFolded}),_=Mt(),M=Mt(),C=I.myId,L=I.managers,E=a.wrapOptions?.middleware?a.wrapOptions.middleware.create():Ht();let x=!1,R;ze(()=>{R=void 0,E.destroy(),_.resolve(),O(),a.lazyLoadQueue?.delete({div:oe})});const B=re=>{r(re),t(!0),_.resolve(),M.resolve()},N=re=>{l(re),t(!0),M.resolve()},G=()=>lb(a.peerId,a.threadId),O=()=>{if(!q)return;const re=ic.get(q);re&&(re.delete(void 0),re.size||ic.delete(q));const ce=yc.get(q);ce?.delete(ke)&&(ce.size||yc.delete(q))},$=async re=>{const ce=E.get(),{peerId:Ie,useCache:Ve}=a,{photo:fe,size:Xe}=re,Ye=Ae.loadAvatar(Ie,fe,Xe,a.accountNumber),Ze=Ye,Je=!(Ye instanceof Promise),tt=!Je&&wt.isAvailable("animations");let ht;const Ee=ht=document.createElement("img");Ee.className=Ge("avatar-photo",tt&&"fade-in");let ve,Qe,A,F;if(Je)Qe=()=>{ce()&&B(Ee)};else{if(Xe==="photo_big"){const X=await $({photo:fe,size:"photo_small"});if(!ce())return;ve=X.loadThumbPromise||X.loadPromise,A=X.thumbImage}else if(fe.stripped_thumb){F=A=document.createElement("img"),A.className="avatar-photo avatar-photo-thumbnail";const X=mL(fe.stripped_thumb);ve=Vn(A,X,a.useCache,a.processImageOnLoad).then(()=>{n()||!ce()||N(F)})}Qe=()=>{ce()&&(B(Ee),tt?setTimeout(()=>{ht.classList.remove("fade-in"),l()},tt?Ok:0):l())}}const Q=en(Ze,X=>{const ge=Ka(ht,X,void 0,Ve,a.processImageOnLoad);return en(ge,Qe),ge instanceof Promise?ge:Promise.resolve(ge)});return{cached:Je,loadPromise:Q,loadThumbPromise:Je?Q:ve||Promise.resolve(),thumbImage:A,thumbElement:F,image:ht,element:Ee}},H=({abbreviature:re,icon:ce,color:Ie,isForum:Ve,isTopic:fe,isSubscribed:Xe,storiesSegments:Ye})=>{l(),r(),i(ce),d(re),h(Ie),m(Ve),f(fe),y(Xe),w(Ye)},D=async()=>{if(!a.withStories||a.peerId===I.myId&&a.isDialog)return;const re=await(await hS(a.peerId,a.storyId)).result;R&&await(await R)?.loadThumbPromise,w(re)},U=async re=>{const ce=E.get(),{isDialog:Ie,withStories:Ve,storyId:fe,isBig:Xe,peerTitle:Ye,threadId:Ze,wrapOptions:Je}=a;let{peerId:tt}=a;if(Ye!==void 0&&(tt=Wt),tt===C&&Ie){H({icon:a.meAsNotes?"mynotes":"saved",isForum:!a.meAsNotes&&Vw.savedAsForum}),!a.meAsNotes&&Ft(Se=>{le(Vt(()=>Vw.savedAsForum,m,{defer:!0})),ce.onDestroy(Se)});return}const ht=a.peer??Ae.getPeer(tt);if(Ye){const Se=zw(ht),xe=Cg(Ye);H({abbreviature:kl(xe),color:Se});return}if(Ze){const Se=await L.dialogsStorage.getForumTopic(tt,Ze);return H({isTopic:!0}),Pg({...Je,middleware:ce,topic:Se,lazyLoadQueue:!1}).then(xe=>{B(xe)})}if(!ce())return;if(tt!==Wt&&tt.isUser()&&ht?.pFlags?.deleted){H({color:"archive",icon:"deletedaccount"});return}const Ee=!!ht?.pFlags?.forum,ve=a.isSubscribed??!!ht?.subscription_until_date,Qe=Ve&&(ht?.stories_max_id||fe)&&await hS(tt,fe),A=Qe?.cached?await Qe.result:void 0;if(!ce())return;const F=Xe?"photo_big":"photo_small",Q=Lk(ht),X=!!Q,ge=X&&!!n(),he=a.accountNumber===Vr()&&X&&Ae.isAvatarCached(tt,F);if(!ce())return;let Le=!1;if(!ge&&!he){let Se;if(tt&&(tt!==C||!Ie)&&(Se=zw(ht)),tt===Lo){H({color:Se,icon:"reply_filled"});return}if(tt===Oy){H({color:"violet",icon:"author_hidden"});return}const xe=Ek(ht);H({abbreviature:kl(xe),color:Se,isForum:Ee,isSubscribed:ve,storiesSegments:A}),Le=!0}if(Qe&&!Qe.cached&&D(),X){const Se=$({photo:Q,size:F,onlyThumb:re});if(Le)return Se;const xe=!!A,lt=Ee!==p(),mt=ve!==v();return Se.then(({loadThumbPromise:at})=>at).then(()=>{ce()&&(xe&&w(A),lt&&m(Ee),mt&&y(ve))}),Se}},j=re=>(!re&&!g()&&B(),R=void 0,re);let q;const W=async re=>{const ce=G();if(ce!==q){O(),q=ce;let Ye=yc.get(ce);Ye||yc.set(ce,Ye=new Set),Ye.add(ke)}re?.peerId!==void 0&&a.peerId!==re.peerId&&(oe.dataset.peerId=""+re.peerId),re&&Object.assign(a,re),E.clean();const Ie=E.get();if(a.lazyLoadQueue)if(bf.has(a.peerId))x&&a.lazyLoadQueue.delete({div:oe});else{if(x)return;x=!0;const Ye=G();let Ze=ic.get(Ye);Ze||ic.set(Ye,Ze=new Set),Ze.add(ke),a.lazyLoadQueue.push({div:oe,load:()=>(bf.add(a.peerId),W())});const tt=await(R=U(!0));return Ie()?j(tt):void 0}bf.add(a.peerId);const Ve=R=U(),fe=ic.get(ce);if(fe){fe.delete(ke);const Ye=Array.from(fe);ic.delete(ce);for(let Ze=0,Je=Ye.length;Ze{a.onStoriesStatus(!!b())});const ee=()=>({"is-forum":p(),"is-topic":g(),"avatar-relative":!!o()||v()}),z=()=>({...!S()&&ee(),"has-stories":!!b()}),Z=()=>{const re=b();return{padding:re?(re.size-re.willBeSize)/2+"px":void 0,"--size":g()&&a.wrapOptions.customEmojiSize.width?a.wrapOptions.customEmojiSize.width+"px":void 0}},de=[V((()=>{const re=V(()=>!!s());return()=>re()&&Be(s(),"avatar-icon","avatar-icon-"+s())})()),V(o),V(()=>[n(),c()].find(Boolean)),V((()=>{const re=V(()=>!!v());return()=>re()&&ob({class:"avatar-star",stroke:!0})})())],ie=T(Js,{get when(){return b()},fallback:de,get children(){const re=Dk(),ce=re.firstChild;return k(re,S,ce),k(re,(()=>{const Ie=V(()=>a.isStoryFolded!==void 0);return()=>Ie()&&$k()})(),ce),k(ce,de),Me(Ie=>{const Ve=`avatar avatar-like avatar-${b().willBeSize} avatar-gradient`,fe=ee(),Xe=u();return Ve!==Ie._v$&&be(ce,Ie._v$=Ve),Ie._v$2=er(ce,fe,Ie._v$2),Xe!==Ie._v$3&&Es(ce,"data-color",Ie._v$3=Xe),Ie},{_v$:void 0,_v$2:void 0,_v$3:void 0}),re}});let oe;const ke={element:(()=>{const re=Nk(),ce=oe;return typeof ce=="function"?Ue(ce,re):oe=re,so(re,ni({get class(){return`avatar avatar-like avatar-${a.size} avatar-gradient`},get classList(){return z()},get"data-color"(){return u()},get"data-peer-id"(){return a.peerId},get"data-story-id"(){return a.storyId},get style(){return Z()}},()=>a.props||{}),!1,!0),k(re,ie),re})(),ready:e,readyPromise:_,readyThumbPromise:M,node:oe,render:W,setIcon:i,setStoriesSegments:w,setIsSubscribed:y,updateStoriesSegments:D,set:H,color:u};return(a.peerId!==void 0||a.peerTitle!==void 0||a.peer!==void 0)&&W(),ke};function Eg(a){return jn(a).element}function vs(a){return Ft(e=>(a.middleware.onDestroy(e),(a.wrapOptions??(a.wrapOptions={})).middleware=a.middleware,jn(a)))}class mi extends ue{constructor(e,t={}){if(super("popup-peer"+(e?" "+e:""),{overlayClosable:!0,...t,title:!0,buttons:t.buttons&&Go(t.buttons)}),this.className=e,t.peerId){const i=!!(t.peerId===I.myId&&t.threadId),{node:n}=vs({middleware:this.middlewareHelper.get(),size:32,isDialog:!0,peerId:i?t.threadId:t.peerId,threadId:i?void 0:t.threadId,meAsNotes:i});this.header.prepend(n)}t.noTitle||(t.titleLangKey||!t.title?this.title.append(P(t.titleLangKey||"AppName",t.titleLangArgs)):t.title instanceof HTMLElement||t.title instanceof DocumentFragment?this.title.append(t.title):this.title.innerText=t.title||"");const s=document.createDocumentFragment();if(t.descriptionLangKey||t.description||t.descriptionRaw){const i=this.description=document.createElement("p");i.classList.add("popup-description"),t.descriptionLangKey?i.append(P(t.descriptionLangKey,t.descriptionLangArgs)):t.description&&t.description!==!0?Qt(i,t.description):t.descriptionRaw&&i.append(je(t.descriptionRaw)),s.append(i)}if(t.inputField&&s.append(t.inputField.container),t.checkboxes&&(this.container.classList.add("have-checkbox"),t.checkboxes.forEach(i=>{i.withRipple=!0;const n=new _t(i);i.checkboxField=n,s.append(n.label)}),t.buttons.forEach(i=>{if(i.callback){const r=i.callback;i.callback=o=>{const l=new Set;t.checkboxes.forEach(c=>{c.checkboxField.checked&&l.add(c.text)}),r(o,l)}}const n=i.onlyWithCheckbox;if(n){const r=()=>{os([i.element],!n.checkboxField.checked)};this.listenerSetter.add(n.checkboxField.input)("change",r),r()}})),t.inputField){const i=t.buttons.find(n=>!n.isCancel);this.listenerSetter.add(t.inputField.input)("input",()=>{os([i.element],!t.inputField.isValid())})}this.header.after(s)}}class kg{constructor(e,t,s,i){this.peerId=e,this.peerType=t,this.onSelect=s,this.threadId=i,this.construct()}async construct(){let{peerId:e,peerType:t,onSelect:s,threadId:i}=this;const n=await I.managers.appPeersManager.isSavedDialog(e,i),r=await qe({peerId:n?i:e,threadId:n?void 0:i,meAsNotes:n}),o=ue.MANAGERS;t===void 0&&(t=await o.appPeersManager.getDialogType(e,i));const l=(f,v,y=g&&!!v.size)=>{let w=o.appChatsManager.leave(e.toChatId());y&&(w=w.then(()=>o.appMessagesManager.flushHistory(e))),s?.(w)},c=(f,v)=>{let y;if(n)y=o.appMessagesManager.flushHistory(e,!1,!0,i);else if(i)y=o.appMessagesManager.flushHistory(e,!1,!0,i);else if(e.isUser())y=o.appMessagesManager.flushHistory(e,!1,g?!!v.size:void 0);else if(v.size)y=o.appChatsManager.delete(e.toChatId());else return l(f,v);s?.(y)};let d,u,h,p,m,g;switch(t){case"channel":{await o.appChatsManager.hasRights(e.toChatId(),"delete_chat")?(d="ChannelDeleteMenu",h="AreYouSureDeleteAndExitChannel",m=[{langKey:"ChannelDeleteMenu",isDanger:!0,callback:c}],g=[{text:"DeleteChannelForAll"}]):(d="LeaveChannelMenu",h="ChannelLeaveAlertWithName",p=[r],m=[{langKey:"LeaveChannel",isDanger:!0,callback:l}]);break}case"chat":{d="DeleteChatUser",h="AreYouSureDeleteThisChatWithUser",p=[r],m=[{langKey:"DeleteChatUser",isDanger:!0,callback:c}],g=[{text:"DeleteMessagesOptionAlso",textArgs:[await qe({peerId:e})]}];break}case"saved":{d="DeleteChatUser",h="AreYouSureDeleteThisChatSavedMessages",m=[{langKey:"DeleteChatUser",isDanger:!0,callback:c}];break}case"savedDialog":{d="DeleteChatUser",h="DeleteSavedDialogDescription",p=[r],m=[{langKey:"DeleteChatUser",isDanger:!0,callback:c}];break}case"megagroup":case"group":{i?(d="DeleteTopics",u=[1],h="DeleteSelectedTopic",p=[r],m=[{langKey:"Delete",isDanger:!0,callback:c}]):await o.appChatsManager.hasRights(e.toChatId(),"delete_chat")?(d="DeleteMegaMenu",h="AreYouSureDeleteAndExit",m=[{langKey:"DeleteMegaMenu",isDanger:!0,callback:c}],g=[{text:"DeleteChat.DeleteGroupForAll"}]):(d="LeaveMegaMenu",h="AreYouSureDeleteAndExitName",p=[r],m=[{langKey:"DeleteChatUser",isDanger:!0,callback:(f,v)=>l(f,v,!0)}]);break}}ue.createPopup(mi,"popup-delete-chat",{peerId:e,threadId:i,titleLangKey:d,titleLangArgs:u,descriptionLangKey:h,descriptionLangArgs:p,buttons:m,checkboxes:g}).show()}}class Tg extends pn{constructor(e,t){super(!1),this.navigationType=e,this.withOverlay=t,this.onClick=s=>{Hy(s)||this.element&&!(this.element===document.body)&&Mi(s.target,this.element)||(this.listenerOptions?.capture&&_e(s),this.close())},this.listenerOptions=t?{}:{capture:!0}}close(){this.element&&(this.overlay?.remove(),this.element=void 0,this.dispatchEvent("toggle",!1)),pt||window.removeEventListener("contextmenu",this.onClick,this.listenerOptions),document.removeEventListener(Eo,this.onClick,this.listenerOptions),!wr&&this.navigationType&&Pt.removeByType(this.navigationType)}open(e=document.body){this.close(),!wr&&this.navigationType&&Pt.pushItem({type:this.navigationType,onPop:s=>{this.close()}}),this.element=e,!this.overlay&&this.withOverlay&&(this.overlay=document.createElement("div"),this.overlay.classList.add("btn-menu-overlay"),this.overlay.addEventListener(Eo,s=>{_e(s),this.onClick(s)}));const t=this.element===document.body;this.overlay&&(t?this.element.append(this.overlay):this.element.parentElement.insertBefore(this.overlay,this.element)),pt||window.addEventListener("contextmenu",this.onClick,{...this.listenerOptions,once:!0}),document.addEventListener(Eo,this.onClick,this.listenerOptions),this.dispatchEvent("toggle",!0)}}const Vp=document.createElement("div");Vp.classList.add("toasts-container");const Nr=document.createElement("div");Nr.classList.add("toast");let Sl;const dh=new Tg("toast");dh.addEventListener("toggle",a=>{a||no()});function no(){dh.close(),Nr.classList.remove("is-visible"),Sl&&clearTimeout(+Sl),Sl=window.setTimeout(()=>{Nr.remove(),Sl=void 0},200)}function Wi(a,e){dh.close(),St(Nr,a),Nr.parentElement||(Vp.parentNode||document.body.append(Vp),Vp.append(Nr),Nr.offsetLeft),Nr.classList.add("is-visible"),Sl&&clearTimeout(+Sl),dh.open(Nr),Sl=window.setTimeout(no,3e3),e&&dh.addEventListener("toggle",e,{once:!0})}function $e(a){Wi(P(a.langPackKey,a.langPackArguments),a.onClose)}class rn{constructor(e){const t=this.label=document.createElement("label");t.classList.add("radio-field"),e.alignRight&&t.classList.add("radio-field-right");const s=this.input=document.createElement("input");if(s.type="radio",s.name="input-radio-"+e.name,e.value){s.value=e.value;const n=()=>"valueForState"in e?e.valueForState:e.value;e.stateKey&&(Ae.getState().then(r=>{s.checked=$_(r,e.stateKey)===n()}),s.addEventListener("change",()=>{I.managers.appStateManager.setByKey(e.stateKey,n())}))}const i=this.main=document.createElement("div");i.classList.add("radio-field-main"),e.textElement?i.append(e.textElement):e.text?i.textContent=e.text:e.langKey&&ks(i,e.langKey),t.append(s,i)}get checked(){return this.input.checked}set checked(e){this.setValueSilently(e),md(this.input,"change")}get locked(){return!!this.lockIcon}set locked(e){if(!e){this.lockIcon?.remove(),this.lockIcon=void 0,this.main.classList.remove("is-locked");return}this.lockIcon||(this.main.prepend(this.lockIcon=Be("premium_lock","radio-field-lock")),this.main.classList.add("is-locked"))}setValueSilently(e){this.input.checked=e}}function H_(a,e){const t=document.createElement("form");return a.forEach(s=>{const{container:i,input:n}=s;t.append(i),n.addEventListener("change",r=>{n.checked&&e(n.value,r)})}),t}function va(a){return a.reduce((e,t)=>(e.push(...t),e),[])}class zk extends Tg{constructor(){super("menu",!0),this.additionalMenus=[],this.onMouseMove=e=>{const t=[...[...this.additionalMenus].reverse(),{triggerElement:void 0,level:0,element:this.element,close:()=>this.close()}];function s(i,n){const{clientX:r,clientY:o}=e,l=i.getBoundingClientRect(),c=r>=l.right?r-l.right:l.left-r,d=o>=l.bottom?o-l.bottom:l.top-o;return c>=n||d>=n}for(const i of t){if(i.triggerElement&&!s(i.triggerElement,40))break;if(s(i.element,i.level===0?100:40))this.closeAndRemoveMenu(i);else break}},st.addEventListener("resize",()=>{this.element&&this.close()})}isOpened(){return!!this.element}closeAndRemoveMenu(e){e.close();const t=this.additionalMenus.indexOf(e);t>-1&&this.additionalMenus.splice(t,1)}closeMenusByLevel(e){this.additionalMenus.filter(t=>t.level===e).forEach(t=>{t.close();const s=this.additionalMenus.indexOf(t);s>-1&&this.additionalMenus.splice(s,1)})}close(){if(this.element){const{parentElement:e}=this.element;if(this.element.classList.remove("active"),e&&e.classList.remove("menu-open"),this.element.classList.contains("night")){const t=this.element;setTimeout(()=>{t.classList.contains("active")||t.classList.remove("night")},400)}}this.additionalMenus.forEach(e=>{e.close()}),this.additionalMenus=[],super.close(),pt||window.removeEventListener("mousemove",this.onMouseMove)}openBtnMenu(e,t){vn.isDarkOverlayActive&&e.classList.add("night"),super.open(e);const{parentElement:s}=this.element;this.element.classList.add("active","was-open"),s.classList.add("menu-open"),t&&this.addEventListener("toggle",t,{once:!0}),pt||window.addEventListener("mousemove",this.onMouseMove)}addAdditionalMenu(e,t,s,i){this.closeMenusByLevel(s),this.additionalMenus.push({element:e,triggerElement:t,level:s,close:()=>{e.classList.remove("active"),ns(400).then(()=>e.remove()),i()}}),e.classList.add("active","was-open"),i&&this.addEventListener("toggle",i,{once:!0})}}const Li=new zk;let uS=!1;function G_({doc:a,element:e,size:t,textColor:s,strokeWidth:i}){e.classList.add("is-external"),uS||(uS=!0,I.addEventListener("theme_changed",()=>{document.querySelectorAll(".is-external").forEach(l=>{const c=l.set;c?.(!0)})}));const n=async o=>{const l=e.svg,c=yi.getProperty(s());l.querySelectorAll("path").forEach(u=>{u.setAttributeNS(null,"fill",c),u.style.stroke=c,u.style.strokeWidth=i()+"px"});const d=await YE(l.outerHTML);if(!o)return d;e.image.src=d},r=Bi({container:e,photo:a,boxWidth:t,boxHeight:t,withoutPreloader:!0,noFadeIn:!0,noBlur:!0,processUrl:async o=>{const l=await(await fetch(o)).text(),d=new DOMParser().parseFromString(l,"image/svg+xml").firstElementChild;return e.svg=d,e.set=n,n()}});return r.then(async o=>(e.style.width=e.style.height="",e.image=o.images.full,await o.loadPromises.thumb,r))}function Wk(a){if(a.element)return[a.separator,a.element].filter(Boolean);const{icon:e,iconDoc:t,avatarInfo:s,className:i,text:n,onClick:r,checkboxField:o,noCheckboxClickListener:l,emptyIcon:c}=a,d=document.createElement("div"),u=e?.split(" ");if(d.className="btn-menu-item rp-overflow"+(u?.length>1?" "+u.slice(1).join(" "):"")+(i?" "+i:"")+(a.danger?" danger":""),Gi&&Ei(d),u)d.append(Be(u[0],"btn-menu-item-icon"));else if(c){const g=document.createElement("span");g.classList.add("btn-menu-item-icon"),d.append(g)}let h=a.textElement;if(h||(h=a.textElement=n?P(n,a.textArgs):document.createElement("span"),a.regularText&&(Qt(h,a.regularText),h.dir="")),t){const g=document.createElement("span");g.classList.add("btn-menu-item-icon"),d.append(g);const f=()=>document.documentElement.classList.contains("is-mobile");a.loadPromise=G_({doc:t,element:g,size:24,textColor:()=>f()?"secondary-text-color":"primary-text-color",strokeWidth:()=>f()?.625:.375})}if(s){const g=Ft(f=>(a.dispose=f,jn({size:24,...s})));g.node.classList.add("btn-menu-item-icon","is-external","btn-menu-item-avatar"),s.active&&g.node.classList.add("active"),d.append(g.node)}if(h.classList.add("btn-menu-item-text"),d.append(h),a.new){const g=document.createElement("span");g.classList.add("btn-menu-item-badge"),ks(g,"New"),d.append(g)}const p=!!o||!!a.keepOpen;r&&J(d,g=>{_e(g);const f=ne(g.target,"btn-menu");f&&!f.classList.contains("active")||(r(g),a.checkForClose?.()!==!1&&(p||Li.close(),o&&!l&&(o.checked=o.input.type==="radio"?!0:!o.checked)))},a.options),o&&d.append(o.label),(a.separator===!0||a.separatorDown)&&(a.separator=document.createElement("hr")),a.secondary&&(d.classList.add("is-secondary"),a.multiline=!0),a.multiline&&d.classList.add("is-multiline"),a.inner&&(d.append(Be("next","btn-menu-item-icon","btn-menu-item-icon-right")),d.classList.add("has-inner"),d.inner=a.inner);const m=[a.element=d];return a.separator&&m[a.separatorDown?"push":"unshift"](a.separator),m.filter(Boolean)}function xa({listenerSetter:a,buttons:e,radioGroups:t}){const s=document.createElement("div");s.classList.add("btn-menu"),t&&e.forEach(n=>{n.radioGroup&&(n.checkboxField??(n.checkboxField=new _t))}),a&&e.forEach(n=>{(n.options??(n.options={})).listenerSetter=a});const i=e.map(Wk);return s.append(...va(i)),t&&t.forEach(n=>{const r=e.filter(c=>c.radioGroup===n.name),o=document.createElement("hr");r[0].element.replaceWith(o);const l=H_(r.map((c,d)=>{const u=c.checkboxField.input;return u.type="radio",u.name=n.name,u.value=""+ +(d===n.checked),u.checked=d===n.checked,{container:c.element,input:c.checkboxField.input}}),n.onChange);o.before(l),l.append(o)}),s}async function Kh(a){const e=xa(a);return await Promise.all(a.buttons.map(({loadPromise:t})=>t)),e}async function zn(a,e){const t=a.map(async(s,i,n)=>{if(await e(s,i,n))return s});return(await Promise.all(t)).filter(Boolean)}const V_=8,Kk=V_,z_=8,jk=z_;function Ql(a,e,t,s){a.touches&&(a=a.touches[0]);const{pageX:i,pageY:n}=a,r=Array.from(e.children).find(M=>M.classList.contains("btn-menu-items")||M.classList.contains("btn-menu-item")&&!M.classList.contains("hide"))||e;let{scrollWidth:o}=r;const{scrollHeight:l}=e,c=document.body.getBoundingClientRect(),d=c.width,u=c.height;o+=r.offsetLeft*2;let h=V_,p=jk,m=Kk,g=z_;s&&(s.top&&(h+=s.top),s.right&&(p+=s.right),s.bottom&&(m+=s.bottom),s.left&&(g+=s.left)),Ne.isRTL?t=st.isMobile?"left":"right":t=st.isMobile?"right":"left";let f="top";const v=u-l-m,y=d-o-p,w=g,S={x:{left:i,right:Math.min(y,i-o)},intermediateX:t==="right"?w:y,y:{top:n,bottom:n-l},intermediateY:v},_={x:{left:S.x.left+o+p<=d,right:S.x.right>=g},y:{top:S.y.top+l+m<=u,bottom:S.y.bottom-m>=m}};{const M=_.x[t]?S.x[t]:(t="center",S.intermediateX);e.style.left=M+"px"}{const M=_.y[f]?S.y[f]:(f="center",S.intermediateY);e.style.top=M+"px"}return e.className=e.className.replace(/(top|center|bottom)-(left|center|right)/g,""),e.classList.add((f==="center"?f:"bottom")+"-"+(t==="center"?t:(Ne.isRTL?t==="right":t==="left")?"right":"left")),{width:o,height:l}}let Bv=!1,bp=0;function W_(){bp&&clearTimeout(bp),bp=window.setTimeout(()=>{bp=0,Bv=!1},400),Bv=!0}function Er({element:a,callback:e,listenerSetter:t,listenerOptions:s}){const i=t?t.add(a):a.addEventListener.bind(a),n=t?t.removeManual.bind(t,a):a.removeEventListener.bind(a);if($o&&pt||s){let r;const o={...s||{},capture:!0},l=()=>{clearTimeout(r),n("touchmove",l,o),n("touchend",l,o),n("touchcancel",l,o)};i("touchstart",c=>{if(c.touches.length>1){l();return}i("touchmove",l,o),i("touchend",l,o),i("touchcancel",l,o),r=window.setTimeout(()=>{if(Bv){l();return}e(c),l(),Li.isOpened()&&i("touchend",_e,{once:!0})},400)},s)}else i("contextmenu",pt?r=>{e(r),Li.isOpened()&&i("touchend",_e,{once:!0})}:e,s)}function Dn({buttons:a,findElement:e,listenTo:t,appendTo:s,filterButtons:i,onOpen:n,onClose:r,onCloseAfter:o,onElementReady:l,onOpenBefore:c,listenerSetter:d,middleware:u,listenForClick:h}){s??(s=document.body),d??(d=new $t);const p=new $t,m=u?u.create():Ht();let g;const f=b=>{const S=e?e(b):t;if(!S)return;let _=g;if((b instanceof MouseEvent||b.hasOwnProperty("preventDefault"))&&b.preventDefault(),_&&_.classList.contains("active"))return!1;(b instanceof MouseEvent||b.hasOwnProperty("cancelBubble"))&&(b.cancelBubble=!0),(async()=>{await n?.(b,S);const C=await w();if(!C){r?.();return}S.classList.add("menu-open"),_=C.element;const{cleanup:L,destroy:E}=C;Ql(b,_),Li.openBtnMenu(_,()=>{S.classList.remove("menu-open"),r?.(),L(),setTimeout(()=>{o?.(),E()},300)})})()};Er({element:t,callback:f,listenerSetter:d});const v=()=>{p.removeAll(),m.clean()},y=()=>{v(),d.removeAll()},w=async()=>{v(),a.forEach(M=>M.element=void 0);const S=await(i||(M=>zn(M,C=>C?.verify?en(C.verify(),L=>L??!1):!0)))(a);if(!S.length)return;const _=g=await Kh({buttons:S,listenerSetter:p});return _.classList.add("contextmenu"),await c?.(),l?.(_),s.append(_),{element:_,cleanup:v,destroy:()=>{_.remove()}}};return u&&u.onDestroy(()=>{y()}),h&&J(t,f,{listenerSetter:d}),{element:g,destroy:y,open:f}}const wp=(a,e)=>{e===!0||(typeof e=="string"?Qt(a,e):a.append(e))};class Fe{constructor(e={}){this.freezed=!1,e.checkboxFieldOptions&&(e.checkboxField=new _t({listenerSetter:e.listenerSetter,...e.checkboxFieldOptions}));const t=e.asLink?"a":e.radioField||e.checkboxField||e.asLabel?"label":"div";if(this.container=document.createElement(t),this.container.classList.add("row","no-subtitle"),e.noWrap&&this.container.classList.add("no-wrap"),e.subtitle||e.subtitleLangKey){const i=this.subtitle;if(e.subtitleLangKey?i.append(P(e.subtitleLangKey,e.subtitleLangArgs)):wp(i,e.subtitle),e.noWrap&&i.classList.add("no-wrap"),e.subtitleRight){this.container.append(this.subtitleRow=this.createRow()),this.subtitleRow.classList.add("row-subtitle-row");const n=this.subtitleRight=document.createElement("div");n.classList.add("row-subtitle","row-subtitle-right"),wp(n,e.subtitleRight),this.subtitleRow.append(i,n)}}let s=!!e.havePadding;if(e.radioField||e.checkboxField){if(e.radioField&&(this.radioField=e.radioField,this.container.append(this.radioField.label),s=!0),e.checkboxField){this.checkboxField=e.checkboxField;const n=e.checkboxField.label.classList.contains("checkbox-field-toggle");if(n?(this.container.classList.add("row-with-toggle"),e.titleRight=this.checkboxField.label):(s=!0,this.checkboxField.span||this.checkboxField.label.classList.add("checkbox-field-absolute"),this.container.append(this.checkboxField.label)),e.withCheckboxSubtitle&&!n){e.checkboxKeys??(e.checkboxKeys=["Checkbox.Enabled","Checkbox.Disabled"]);const[r,o]=e.checkboxKeys,l=()=>{St(this.subtitle,P(this.checkboxField.checked?r:o))};e.listenerSetter?e.listenerSetter.add(this.checkboxField.input)("change",l):this.checkboxField.input.addEventListener("change",l)}}(e.radioField||e.checkboxField).label.classList.add("disable-hover")}if(e.title||e.titleLangKey||e.titleRight||e.titleRightSecondary){let i;const n=e.titleRight||e.titleRightSecondary;if(n?(this.container.append(i=this.titleRow=this.createRow()),this.titleRow.classList.add("row-title-row")):i=this.container,this._title=this.createTitle(),e.noWrap&&this.title.classList.add("no-wrap"),e.title?wp(this.title,e.title):e.titleLangKey&&this.title.append(P(e.titleLangKey,e.titleLangArgs)),i.append(this.title),n){const r=this.titleRight=document.createElement("div");r.classList.add("row-title","row-title-right"),e.titleRightSecondary&&r.classList.add("row-title-right-secondary"),wp(r,n),i.append(r)}}if(e.icon&&(s=!0,e.iconClasses?.length?this.container.append(Be(e.icon,"row-icon",...e.iconClasses)):this.container.append(Be(e.icon,"row-icon")),this.container.classList.add("row-with-icon")),s&&this.container.classList.add("row-with-padding"),e.navigationTab){let i=e.navigationTab.getInitArgs;if(!i){const r=e.navigationTab.constructor.getInitArgs;r&&(i=()=>r())}let n=e.navigationTab.args??i?.();e.clickable=async()=>{n instanceof Promise&&(n=await n);const r=e.navigationTab.slider.createTab(e.navigationTab.constructor);r.open(n);const o=r.eventListener;o&&i&&o.addEventListener("destroyAfter",l=>{n=l.then(()=>i())})}}if((e.clickable||e.radioField||e.checkboxField)&&(typeof e.clickable=="function"&&J(this.container,i=>{this.freezed||e.clickable(i)},{listenerSetter:e.listenerSetter}),this.container.classList.add("row-clickable","hover-effect"),e.noRipple||Ei(this.container,void 0,void 0,!0)),(e.buttonRight||e.buttonRightLangKey)&&(e.rightContent=this.buttonRight=e.buttonRight instanceof HTMLElement?e.buttonRight:ot("btn-primary btn-color-primary btn-control-small",{text:e.buttonRightLangKey})),e.rightTextContent&&(e.rightContent=document.createElement("span"),e.rightContent.classList.add("row-title-right-secondary"),e.rightContent.textContent=e.rightTextContent),e.rightContent&&(e.rightContent.classList.add("row-right"),this.container.classList.add("row-grid"),this.container.append(e.rightContent)),e.contextMenu){const{open:i}=Dn({...e.contextMenu,listenTo:this.container,listenerSetter:e.listenerSetter});this.openContextMenu=i}}get title(){return this._title}get subtitle(){return this._subtitle??(this._subtitle=this.createSubtitle())}get midtitle(){return this._midtitle??(this._midtitle=this.createMidtitle())}createRow(){const e=document.createElement("div");return e.classList.add("row-row"),e}createTitle(){const e=document.createElement("div");return e.classList.add("row-title"),Xr(e),e}createSubtitle(){const e=document.createElement("div");return e.classList.add("row-subtitle"),Xr(e),this.title?this.title.after(e):this.container.prepend(e),this.container.classList.remove("no-subtitle"),e}createMidtitle(){const e=document.createElement("div");return e.classList.add("row-midtitle"),this.subtitle.parentElement.insertBefore(e,this.subtitle),e}createMedia(e){const t=document.createElement("div");return this.applyMediaElement(t,e)}applyMediaElement(e,t){return this.container.classList.add("row-with-padding"),this.media=e,e.classList.add("row-media"),t&&e.classList.add("row-media-"+t),this.container.append(e),e}isDisabled(){return this.container.classList.contains("is-disabled")}toggleDisability(e=!this.container.classList.contains("is-disabled")){return this.container.classList.toggle("is-disabled",e),()=>this.toggleDisability(!e)}disableWithPromise(e){const t=this.toggleDisability(!0);e.finally(()=>{t()})}makeSortable(){const e=Be("menu","row-sortable-icon");this.container.classList.add("row-sortable"),this.container.append(e)}toggleSorting(e){this.container.classList.toggle("cant-sort",!e)}}const qk=a=>new Fe(a).container,jr=a=>new Fe({checkboxField:a,listenerSetter:a.listenerSetter}),Sd=(a,e)=>H_(a.map(t=>({container:t.container,input:t.radioField.input})),e),vm=(a,e,t)=>{const s="name-"+(Math.random()*8388607|0);let i;const n=a.map(({langPackKey:o,value:l,checked:c,textElement:d})=>{const u=new Fe({radioField:new rn({textElement:d,langKey:o,name:s,value:""+l})});return c&&(i=u.radioField),u}),r=Sd(n,e);return i&&(t?i.checked=!0:i.setValueSilently(!0)),r},$d=3600,Yk=[{value:$d,langPackKey:"ChatList.Mute.1Hour"},{value:$d*4,langPackKey:"ChatList.Mute.4Hours"},{value:$d*8,langPackKey:"ChatList.Mute.8Hours"},{value:$d*24,langPackKey:"ChatList.Mute.1Day"},{value:$d*24*3,langPackKey:"ChatList.Mute.3Days"},{value:-1,langPackKey:"ChatList.Mute.Forever",checked:!0}];class K_ extends mi{constructor(e,t){super("popup-mute",{peerId:e,titleLangKey:"Notifications",buttons:[{langKey:"ChatList.Context.Mute",callback:()=>{this.managers.appMessagesManager.mutePeer({peerId:e,muteUntil:s===-1?NC:Qs(!0)+s,threadId:t})}}],body:!0});let s;const i=vm(Yk,n=>{s=+n},!0);this.body.append(i),this.show()}}function j_(a,e,t,s){return a>=s?e+t:q_(a/s,t)+e}function q_(a,e){return-e/2*(Math.cos(Math.PI*a)-1)}function Dv(a,e,t,s){const i=d=>{t({x:d.pageX,y:d.pageY,event:d})},n=d=>{document.removeEventListener("mousemove",i),a.addEventListener("mousedown",r,{once:!0}),s?.({x:d.pageX,y:d.pageY,event:d})},r=d=>{if(d.button!==0){a.addEventListener("mousedown",r,{once:!0});return}e({x:d.pageX,y:d.pageY,event:d}),i(d),document.addEventListener("mousemove",i),document.addEventListener("mouseup",n,{once:!0})};a.addEventListener("mousedown",r,{once:!0});const o=d=>{d.preventDefault(),t({x:d.touches[0].clientX,y:d.touches[0].clientY,isTouch:!0,event:d})},l=d=>{document.removeEventListener("touchmove",o),a.addEventListener("touchstart",c,{passive:!1,once:!0});const u=d.touches[0]||d.changedTouches[0];s?.({x:u.clientX,y:u.clientY,isTouch:!0,event:d})},c=d=>{e({x:d.touches[0].clientX,y:d.touches[0].clientY,isTouch:!0,event:d}),o(d),document.addEventListener("touchmove",o,{passive:!1}),document.addEventListener("touchend",l,{passive:!1,once:!0})};return a.addEventListener("touchstart",c,{passive:!1,once:!0}),()=>{a.removeEventListener("mousedown",r),document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",n),a.removeEventListener("touchstart",c),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",l)}}class Xl{constructor(e,t=0){this.mousedown=!1,this.events={},this.withTransition=!1,this.useTransform=!1,this.useProperty=!1,this.vertical=!1,this.offsetAxisValue=0,this.onMouseMove=r=>{this.scrub(r)},this.onMouseDown=r=>{this.rect=this.container.getBoundingClientRect(),this.mousedown=!0,this.scrub(r),this.container.classList.add("is-focused"),this.events?.onMouseDown&&this.events.onMouseDown(r)},this.onMouseUp=r=>{this.mousedown=!1,this.container.classList.remove("is-focused"),this.events?.onMouseUp&&this.events.onMouseUp(r)},this.onInput=()=>{const r=+this.seek.value;this.setFilled(r),this.events?.onScrub&&this.events.onScrub(r)},Nt(this,e),this.container=document.createElement("div"),this.container.classList.add("progress-line"),this.useTransform?this.container.classList.add("use-transform"):this.withTransition&&this.container.classList.add("with-transition"),this.filled=document.createElement("div"),this.filled.classList.add("progress-line__filled");const s=this.seek=document.createElement("input");s.classList.add("progress-line__seek"),s.type="range",s.step=""+this.step,this.setMinMax(this.min,this.max),s.value=""+t,t&&this.setProgress(t);const i=""+this.step,n=i.indexOf(".");this.decimals=n===-1?0:i.length-n-1,this.container.append(this.filled,s)}setMinMax(e,t){this.min=e??this.min??(this.min=0),this.max=t??this.max??(this.max=0),this.seek.min=""+e,this.seek.max=""+t}get value(){return+this.seek.value}setHandlers(e){this.events=e}setListeners(){this.seek.addEventListener("input",this.onInput),this._removeListeners=Dv(this.container,this.onMouseDown,this.onMouseMove,this.onMouseUp)}setProgress(e){this.seek.value=""+e,this.setFilled(+this.seek.value)}addProgress(e){this.seek.value=""+(+this.seek.value+e),this.setFilled(+this.seek.value)}setFilled(e){let t=(e-this.min)/(this.max-this.min);t=zt(t,0,1),this.useTransform?this.filled.style.transform=`scaleX(${t})`:this.useProperty?this.container.style.setProperty("--progress",""+t):this.filled.style.width=t*100+"%"}scrub(e,t){let s=this.vertical?this.rect.height:this.rect.width;this.offsetAxisValue&&(s-=this.offsetAxisValue);let i=zt(this.vertical?-(e.y-this.rect.bottom):e.x-this.rect.left-this.offsetAxisValue/2,0,s);!this.vertical&&Ne.isRTL&&(i=s-i);let n=this.min+i/s*(this.max-this.min);return n-this.min<(this.max-this.min)/2&&(n-=this.step/10),n=+n.toFixed(this.decimals),n=zt(n,this.min,this.max),t&&(n=t(n)),this.setProgress(n),this.events?.onScrub&&this.events.onScrub(n),n}removeListeners(){this._removeListeners&&(this._removeListeners(),this._removeListeners=null),this.seek.removeEventListener("input",this.onInput),this.events={}}}class xg{constructor(e){this.setHintActive=()=>{this.hint.classList.add("active")};let t,s;if(e.hint){t=document.createElement("div"),t.classList.add("limit-line-container"),s=this.hint=document.createElement("div"),s.classList.add("limit-line-hint","is-locked");const n=Be(e.hint.icon,"limit-line-hint-icon");s.append(n),e.hint.content&&s.append(e.hint.content),this.hintNoStartEnd=e.hint.noStartEnd,t.append(s)}const i=e.slider?this.constructSlider(e):this.constructLine(e,t);this.container=t||i,t&&i&&t.append(i)}constructLine(e,t){const s=this.line=document.createElement("div");s.classList.add("limit-line"),t||s.classList.add("is-alone");const i=this.left=document.createElement("div");i.classList.add("limit-line-part","limit-line-empty");const n=this.right=document.createElement("div");return n.classList.add("limit-line-part","limit-line-filled"),e.progress&&(n.classList.add("limit-line-absolute"),e.progress!==!0&&this.setProgressElements(e.progress)),e.limitPremium!==void 0&&(e.limitFree===void 0?ks(i,"LimitFree"):i.append(P("LimitFree"),""+e.limitFree),e.color!==void 0&&n.style.setProperty("--limit-background",e.color),s.append(n),n.append(P("LimitPremium"),""+e.limitPremium)),s.append(i,n),s}constructSlider(e){const t=new Xl({step:1e-4,min:0,max:1,useProperty:!0,offsetAxisValue:30},e.sliderValue??0);return t.setListeners(),t.setHandlers({onScrub:e.slider}),t.container.classList.add("limit-line-slider"),this.line=t.container}setProgressElements(e){this.left.replaceChildren(e.from1,e.to1),this.right.replaceChildren(e.from2,e.to2)}setProgress(e,t,s){const i=this.lastProgress;this.hint&&(this.hint.classList.remove("is-locked"),t&&this.hint.replaceChildren(this.hint.firstElementChild,t));const n=r=>{this.container.style.setProperty("--limit-progress",r*100+"%"),this.hint&&(this.hintNoStartEnd?this.hint.style.setProperty("--limit-progress",zt(r,.1,1-.1)*100+"%"):(this.hint.classList.toggle("is-start",r<=.1),this.hint.classList.toggle("is-end",r>=1-.1)))};if(i!==void 0&&wt.isAvailable("animations")){const o=Date.now(),l=e-this.lastProgress;Wl(()=>{const c=(Date.now()-o)/200,d=i+q_(l*c,1);return n(d),c<1},this.container)}else n(e);s&&this.setProgressElements(s),this.lastProgress=e}_setHintActive(){wt.isAvailable("animations")?hi().then(this.setHintActive):this.setHintActive()}}function ur(a,e="auto"){if(a===0)return P("FileSize.B",[0]);const t=e==="auto",s=1024,i=Math.floor(Math.log(a)/Math.log(s)),n=e==="auto"?Math.max(0,i-1):e,r=Math.max(0,n),o=["FileSize.B","FileSize.KB","FileSize.MB","FileSize.GB"],l=(a/Math.pow(s,i)).toFixed(r);return P(o[i],[t?l:parseFloat(l)])}const pS=["#ef6922","#e95a2c","#e74e33","#e3433c","#db374b","#cb3e6d","#bc4395","#ab4ac4","#9b4fed","#8958ff","#676bff","#5b79ff","#4492ff","#429bd5","#41a6a5","#3eb26d","#3dbd4a"],Qk={feature:"stories",icon:"stories",titleLangKey:"Premium.Boarding.Stories.Title",subtitleLangKey:"Premium.Boarding.Stories.Info",type:"upgraded-stories",content:[{titleLangKey:"PremiumStoriesPriority",subtitleLangKey:"PremiumStoriesPriorityDescription",iconColor:"#0079FE",icon:"multistories"},{titleLangKey:"PremiumStoriesStealth",subtitleLangKey:"PremiumStoriesStealthDescription",iconColor:"#7889FE",icon:"eyecross_outline"},{titleLangKey:"PremiumStoriesViews",subtitleLangKey:"PremiumStoriesViewsDescription",iconColor:"#A45FE6",icon:"eye"},{titleLangKey:"PremiumStoriesExpiration",subtitleLangKey:"PremiumStoriesExpirationDescription",iconColor:"#C355AE",icon:"timer"},{titleLangKey:"PremiumStoriesSaveToGallery",subtitleLangKey:"PremiumStoriesSaveToGalleryDescription",iconColor:"#E85D43",icon:"arrowcircle"},{titleLangKey:"PremiumStoriesCaption",subtitleLangKey:"PremiumStoriesCaptionDescription",iconColor:"#F1822A",icon:"list"},{titleLangKey:"PremiumStoriesFormatting",subtitleLangKey:"PremiumStoriesFormattingDescription",iconColor:"#E6AC19",icon:"limit_link"}]},Jo=a=>e=>e.apiManager.getLimit(a,!0).then(t=>[t]),Xk={feature:"double_limits",icon:"premium_limits",titleLangKey:"Premium.Boarding.Double.Title",subtitleLangKey:"Premium.Boarding.Double.Info",headerLangKey:"Premium.Boarding.Double.Title",_subtitleLangArgs:a=>Promise.all(["channels","folders","pin","links"].map(e=>a.apiManager.getLimit(e,!0))),type:"limits",content:[{titleLangKey:"GroupsAndChannelsLimitTitle",subtitleLangKey:"GroupsAndChannelsLimitSubtitle",_subtitleLangArgs:Jo("channels"),limitType:"channels",backgroundColor:"#5B9FFF"},{titleLangKey:"PinChatsLimitTitle",subtitleLangKey:"PinChatsLimitSubtitle",_subtitleLangArgs:Jo("pin"),limitType:"pin",backgroundColor:"#7889FE"},{titleLangKey:"PublicLinksLimitTitle",subtitleLangKey:"PublicLinksLimitSubtitle",_subtitleLangArgs:Jo("links"),limitType:"links",backgroundColor:"#9376FF"},{titleLangKey:"SavedGifsLimitTitle",subtitleLangKey:"SavedGifsLimitSubtitle",_subtitleLangArgs:Jo("gifs"),limitType:"gifs",backgroundColor:"#AB63F2"},{titleLangKey:"FavoriteStickersLimitTitle",subtitleLangKey:"FavoriteStickersLimitSubtitle",_subtitleLangArgs:Jo("favedStickers"),limitType:"favedStickers",backgroundColor:"#C456AE"},{titleLangKey:"BioLimitTitle",subtitleLangKey:"BioLimitSubtitle",limitType:"bio",backgroundColor:"#CE569A"},{titleLangKey:"CaptionsLimitTitle",subtitleLangKey:"CaptionsLimitSubtitle",limitType:"caption",backgroundColor:"#DA5786"},{titleLangKey:"FoldersLimitTitle",subtitleLangKey:"FoldersLimitSubtitle",_subtitleLangArgs:Jo("folders"),limitType:"folders",backgroundColor:"#DB496F"},{titleLangKey:"ChatPerFolderLimitTitle",subtitleLangKey:"ChatPerFolderLimitSubtitle",_subtitleLangArgs:Jo("folderPeers"),limitType:"folderPeers",backgroundColor:"#E85D43"},{titleLangKey:"ConnectedAccountsLimitTitle",subtitleLangKey:"ConnectedAccountsLimitSubtitle",subtitleLangArgs:[4],free:3,premium:4,backgroundColor:"#F1822A"}]},mS=a=>ur(a*1.024*512*1024,0),gS={stories:Qk,double_limits:Xk,voice_to_text:{feature:"voice_to_text",icon:"premium_transcription",titleLangKey:"Premium.Boarding.Voice.Title",subtitleLangKey:"Premium.Boarding.Voice.Info",videoPosition:"top"},faster_download:{feature:"faster_download",icon:"premium_speed",titleLangKey:"Premium.Boarding.Download.Title",subtitleLangKey:"Premium.Boarding.Download.Info",videoPosition:"top"},translations:{feature:"translations",icon:"premium_translate",titleLangKey:"Premium.Boarding.Translate.Title",subtitleLangKey:"Premium.Boarding.Translate.Info",videoPosition:"top"},animated_emoji:{feature:"animated_emoji",icon:"premium_emoji",titleLangKey:"Premium.Boarding.Emoji.Title",subtitleLangKey:"Premium.Boarding.Emoji.Info"},more_upload:{feature:"more_upload",icon:"premium_filesize",titleLangKey:"Premium.Boarding.FileSize.Title",_titleLangArgs:a=>a.apiManager.getLimit("uploadFileParts",!0).then(e=>[mS(e)]),subtitleLangKey:"Premium.Boarding.FileSize.Info",_subtitleLangArgs:a=>Promise.all([!1,!0].map(async e=>{const t=await a.apiManager.getLimit("uploadFileParts",e);return mS(t)}))},emoji_status:{feature:"emoji_status",icon:"premium_status",titleLangKey:"Premium.Boarding.Status.Title",subtitleLangKey:"Premium.Boarding.Status.Info",videoPosition:"top"},peer_colors:{feature:"peer_colors",icon:"premium_colors",titleLangKey:"Premium.Promo.Colors.Title",subtitleLangKey:"Premium.Promo.Colors.Subtitle",videoPosition:"top"},wallpapers:{feature:"wallpapers",icon:"premium_wallpaper",titleLangKey:"Premium.Promo.Wallpaper.Title",subtitleLangKey:"Premium.Promo.Wallpaper.Subtitle",videoPosition:"top",new:!0},profile_badge:{feature:"profile_badge",icon:"star",titleLangKey:"Premium.Boarding.Badge.Title",subtitleLangKey:"Premium.Boarding.Badge.Info",videoPosition:"top"},advanced_chat_management:{feature:"advanced_chat_management",icon:"premium_management",titleLangKey:"Premium.Boarding.Chats.Title",subtitleLangKey:"Premium.Boarding.Chats.Info",videoPosition:"top"},no_ads:{feature:"no_ads",icon:"premium_noads",titleLangKey:"Premium.Boarding.NoAds.Title",subtitleLangKey:"Premium.Boarding.NoAds.Info"},infinite_reactions:{feature:"infinite_reactions",icon:"premium_reactions",titleLangKey:"Premium.Boarding.ReactionsNew.Title",subtitleLangKey:"Premium.Boarding.ReactionsNew.Info",videoPosition:"top"},animated_userpics:{feature:"animated_userpics",icon:"premium_avatars",titleLangKey:"Premium.Boarding.Avatar.Title",subtitleLangKey:"Premium.Boarding.Avatar.Info",videoPosition:"top"},premium_stickers:{feature:"premium_stickers",icon:"premium_stickers",titleLangKey:"Premium.Boarding.Stickers.Title",subtitleLangKey:"Premium.Boarding.Stickers.Info",type:"premium-stickers"},last_seen:{feature:"last_seen",icon:"premium_lastseen",titleLangKey:"PremiumPreviewLastSeen",subtitleLangKey:"PremiumPreviewLastSeenDescription",new:!0},message_privacy:{feature:"message_privacy",icon:"premium_privacy",titleLangKey:"PremiumPreviewMessagePrivacy",subtitleLangKey:"PremiumPreviewMessagePrivacyDescription",new:!0},saved_tags:{feature:"saved_tags",icon:"premium_tags",titleLangKey:"PremiumPreviewTags",subtitleLangKey:"PremiumPreviewTagsDescription2"}};function Y_(a){hn(a.messages,(e,t,s)=>{e.action.photo||(s.splice(t,1),a.count!==void 0&&--a.count)})}class Ag{constructor(e){this.previous=[],this.next=[],this.reverse=!1,this.loadCount=50,this.loadWhenLeft=20,this.loadedAllUp=!1,this.loadedAllDown=!1,Nt(this,e)}setTargets(e,t,s){this.previous=e,this.next=t,this.reverse=s}get index(){return this.count!==void 0?this.previous.length:-1}reset(e=!1){this.current=void 0,this.previous=[],this.next=[],this.setLoaded(!0,e),this.setLoaded(!1,e)}go(e,t=!0){let s,i;if(e>0){if(s=this.next.splice(0,e),i=s.pop(),!i)return;this.current!==void 0&&s.unshift(this.current),this.previous.push(...s)}else{if(s=this.previous.splice(Math.max(0,this.previous.length+e),-e),i=s.shift(),!i)return;this.current!==void 0&&s.push(this.current),this.next.unshift(...s)}return this.next.length0),this.current}unsetCurrent(e){e?this.previous.push(this.current):this.next.unshift(this.current),this.current=void 0}goUnsafe(e,t){const s=e>0?Math.max(0,e-this.next.length):Math.min(0,e+this.previous.length),i=this.go(e,s?!1:t);return{item:s?void 0:i,leftLength:s}}setLoaded(e,t){return(e?this.loadedAllDown:this.loadedAllUp)!==t?(e?this.loadedAllDown=t:this.loadedAllUp=t,t||(e?this.loadPromiseDown=null:this.loadPromiseUp=null),!0):!1}load(e){if(e?this.loadedAllDown:this.loadedAllUp)return Promise.resolve();let t=e?this.loadPromiseDown:this.loadPromiseUp;if(t)return t;let s;return e?s=this.reverse?this.previous[0]:this.next[this.next.length-1]:s=this.reverse?this.next[this.next.length-1]:this.previous[0],s??(s=this.current),t=this.loadMore(s,e,this.loadCount).then(async i=>{if((e?this.loadPromiseDown:this.loadPromiseUp)!==t)return;i.items.length{const c=this.processItem?this.processItem(l):l;c&&n.push(c)});const o=(await Promise.all(n)).filter(Boolean);(e?this.loadPromiseDown:this.loadPromiseUp)===t&&(e?this.reverse?this.previous.unshift(...o):this.next.push(...o):this.reverse?this.next.push(...o):this.previous.unshift(...o),this.onLoadedMore?.())},()=>{}).then(()=>{e?this.loadPromiseDown=null:this.loadPromiseUp=null}),e?this.loadPromiseDown=t:this.loadPromiseUp=t,t}}class Rg extends Ag{constructor(e={}){super({...e,loadMore:async(t,s,i)=>{const n=s?0:i;let r=t?.mid??this.searchContext.maxId;s||(r=await this.managers.appMessagesIdsManager.incrementMessageId(r,1));const o=this.searchContext.peerId||t?.peerId;return this.managers.appMessagesManager.getHistory({...this.searchContext,peerId:o,offsetId:r,offsetPeerId:o?void 0:t?.peerId,limit:n?0:i,backLimit:n}).then(l=>(this.searchContext.inputFilter._==="inputMessagesFilterChatPhotos"&&Y_(l),l.nextRate&&(this.searchContext.nextRate=l.nextRate),l.messages||(l.messages=l.history.map(c=>Ae.getMessageByPeer(o,c))),{count:l.count,items:l.messages}))},processItem:async t=>{if((await this.filterMids([t.mid])).length)return e.processItem(t)}}),this.onHistoryDelete=({peerId:t,msgs:s})=>{const i=r=>r.peerId===t&&s.has(r.mid),n=(r,o,l)=>{i(r)&&l.splice(o,1)};hn(this.previous,n),hn(this.next,n),this.current&&i(this.current)&&(this.current=void 0,this.onEmptied&&this.onEmptied())},this.onHistoryMultiappend=async t=>{const{searchContext:s}=this;if(s.folderId!==void 0||!this.loadedAllUp||this.loadPromiseUp||t.peerId!==s.peerId)return;const i=await this.filterMids([t.mid]);if(this.searchContext!==s)return;const n=(await Promise.all(i.map(o=>this.processItem(o)))).filter(Boolean);this.searchContext!==s||!n.length||this.previous.concat(this.next,this.current?[this.current]:[]).some(o=>o?.mid===t.mid)||(this.current?this.next.push(...n):this.previous.push(...n))},this.onMessageSent=({message:t})=>{this.onHistoryMultiappend(t)},this.managers??(this.managers=I.managers),I.addEventListener("history_delete",this.onHistoryDelete),I.addEventListener("history_multiappend",this.onHistoryMultiappend),I.addEventListener("message_sent",this.onMessageSent),e.isInner||(this.otherSideLoader=new Rg({...e,isInner:!0}))}async filterMids(e){const t=`${this.searchContext.peerId}_${this.searchContext.isScheduled?"scheduled":"history"}`;return await this.managers.appMessagesManager.filterMessagesByInputFilterFromStorage(this.searchContext.inputFilter._,e,t,e.length)}setSearchContext(e){this.searchContext=e,this.searchContext.folderId!==void 0&&(this.loadedAllUp=!0,this.searchContext.nextRate===void 0&&(this.loadedAllDown=!0)),this.searchContext.inputFilter._==="inputMessagesFilterChatPhotos"&&(this.loadedAllUp=!0),this.searchContext.useSearch===!1&&(this.loadedAllDown=this.loadedAllUp=!0),this.otherSideLoader&&this.otherSideLoader.setSearchContext(e)}reset(){super.reset(),this.searchContext=void 0,this.otherSideLoader&&this.otherSideLoader.reset()}getPrevious(e){let t=this.previous;return this.otherSideLoader&&e&&(t=t.concat(this.otherSideLoader.previous)),t}getNext(e){let t=this.next;return this.otherSideLoader&&e&&(t=t.concat(this.otherSideLoader.next)),t}getCurrent(){return this.current||this.otherSideLoader?.current}goToOtherEnd(e){return e>0?this.go(-this.previous.length):this.go(this.next.length)}goRound(e,t){let s;if(this.otherSideLoader?.current){if(s=this.otherSideLoader.goUnsafe(e,t),s.item)return s.item;if(e=s.leftLength,!(e>0?this.otherSideLoader.next:this.otherSideLoader.previous).length){if(!(e>0?this.otherSideLoader.loadedAllUp:this.otherSideLoader.loadedAllDown))return;if(e>0&&(this.otherSideLoader.searchContext.maxId===1||this.otherSideLoader.loadedAllDown)||e<0&&(this.otherSideLoader.searchContext.maxId===0||this.otherSideLoader.loadedAllUp))return this.otherSideLoader.goToOtherEnd(e);this.otherSideLoader.unsetCurrent(e>0)}}if(s=this.goUnsafe(e,t),!s.item){if(this.loadedAllUp&&this.loadedAllDown)return this.goToOtherEnd(e);this.otherSideLoader&&(e=s.leftLength,s=this.otherSideLoader.goUnsafe(e,t),s.item&&this.unsetCurrent(e>0))}return s?.item}setLoaded(e,t){const s=super.setLoaded(e,t);if(s&&this.otherSideLoader&&t&&this.searchContext?.useSearch!==!1){const i=this.loadedAllUp;this.otherSideLoader.setSearchContext({...this.searchContext,maxId:i?1:0}),this.otherSideLoader.reverse=this.reverse,this.otherSideLoader.setLoaded(i,!0),this.otherSideLoader.load(!i)}return s}cleanup(){this.reset(),I.removeEventListener("history_delete",this.onHistoryDelete),I.removeEventListener("history_multiappend",this.onHistoryMultiappend),I.removeEventListener("message_sent",this.onMessageSent),this.onEmptied=void 0,this.otherSideLoader&&(this.otherSideLoader.cleanup(),this.otherSideLoader=void 0)}}class aa{constructor(e,t,s=!0,i,n=!0,r=!0,o,l){this.name=e,this.type=t,this.clearable=s,this.autonomous=r,this.onFound=o,this.noIcons=l,this.list=nt.createChatList(),this.container=document.createElement("div"),i&&(this.container.className=i),e&&(this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),typeof e=="string"&&this.nameEl.append(P(e)),this.container.append(this.nameEl)),this.container.classList.add("search-group","search-group-"+t),this.container.append(this.list),this.container.style.display="none",n&&nt.setListClickListener({list:this.list,onFound:o,withContext:void 0,autonomous:r})}clear(){this.container.style.display="none",this.clearable&&Array.from(this.list.children).forEach(e=>{const t=e.dialogElement;t?t?.remove():e.remove()})}setActive(){this.container.style.display=""}toggle(){this.list.childElementCount?this.setActive():this.clear()}}class Zk{constructor(e,t,s,i,n,r,o){this.container=e,this.searchInput=t,this.searchGroups=s,this.onSearch=n,this.noIcons=r,this.fromSavedDialog=o,this.minMsgId=0,this.loadedCount=-1,this.foundCount=-1,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.threadId=0,this.middlewareHelper=i.create(),this.scrollable=new tn(this.container),this.listsContainer=this.scrollable.container;for(const l in this.searchGroups)this.listsContainer.append(this.searchGroups[l].container);this.searchGroups.messages&&this.scrollable.setVirtualContainer(this.searchGroups.messages.list),this.searchInput.onChange=l=>{this.query=l,this.reset(!1),this.searchMore()},this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=window.setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerId=void 0,this.threadId=0),this.middlewareHelper.clean(),this.minMsgId=0,this.loadedCount=-1,this.foundCount=-1;for(const t in this.searchGroups)this.searchGroups[t].clear();this.searchPromise=null}beginSearch(e,t=0,s=""){this.peerId=e,this.threadId=t,this.query!==s&&(this.searchInput.inputField.value=s),this.searchInput.input.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;const e=this.query;if(!e.trim()){this.onSearch?.(0);return}if(this.foundCount!==-1&&this.loadedCount>=this.foundCount)return Promise.resolve();const t=this.minMsgId||0,s=this.middlewareHelper.get();return this.searchPromise=I.managers.appMessagesManager.getHistory({peerId:this.peerId,query:e,inputFilter:{_:"inputMessagesFilterEmpty"},offsetId:t,limit:20,threadId:this.threadId}).then(i=>{if(!s()||(this.searchPromise=null,this.searchInput.value!==e))return;let{count:n,messages:r,history:o}=i;r||(r=i.messages=o.map(c=>Ae.getMessageByPeer(this.peerId,c))),r.length&&r[0].mid===this.minMsgId&&r.shift();const l=this.searchGroups.messages;r.forEach(c=>{try{const d=this.peerId?c.fromId:c.peerId;nt.addDialogAndSetLastMessage({peerId:this.fromSavedDialog?I.myId:d,container:this.scrollable,avatarSize:"bigger",meAsSaved:!1,message:c,query:e,noIcons:this.noIcons,wrapOptions:{middleware:s},threadId:this.fromSavedDialog?c.saved_peer_id?it(c.saved_peer_id):I.myId:void 0})}catch(d){console.error("[appSearch] render search result",d)}}),l.toggle(),this.minMsgId=r.length&&r[r.length-1].mid,this.loadedCount===-1&&(this.loadedCount=0),this.loadedCount+=r.length,this.foundCount===-1&&(this.foundCount=n,l.nameEl&&St(l.nameEl,P(n?"Chat.Search.MessagesFound":"Chat.Search.NoMessagesFound",[n])),this.onSearch?.(this.foundCount))}).catch(i=>{s()&&(console.error("search error",i),this.searchPromise=null)})}}var $v=(a=>(a[a.Connected=0]="Connected",a[a.Connecting=1]="Connecting",a[a.Closed=2]="Closed",a[a.TimedOut=3]="TimedOut",a))($v||{});const fl=class fl{constructor(){this.hadConnect=!1,this.connecting=!1,this.timedOut=!1,this.updating=!1,this.setConnectionStatus=e=>{Promise.all([I.managers.apiManager.getBaseDcId(),I.managers.rootScope.getConnectionStatus()]).then(([t,s])=>{t||(t=_o.baseDcId),this.setFirstConnectionTimeout&&(clearTimeout(this.setFirstConnectionTimeout),this.setFirstConnectionTimeout=0);const i=s["NET-"+t],n=i&&(e??i.status)===$v.Connected;this.connecting&&n&&this.managers.apiUpdatesManager.forceGetDifference(),n&&!this.hadConnect&&(this.hadConnect=!0),this.timedOut=i&&(e??i.status)===$v.TimedOut,this.connecting=!n,this.retryAt=i&&i.retryAt,_n&&this.log("connecting",this.connecting),this.setState()})},this.wrapSetStatusText=(...e)=>()=>this.inputSearch.setPlaceholder(...e),this.setState=()=>{if(cm.deactivatedReason)return;let e;if(this.connecting)if(this.timedOut)e=this.wrapSetStatusText("Updating");else if(this.hadConnect)if(this.retryAt!==void 0){const t=document.createElement("span"),s=this.retryAt,i=()=>{const r=Date.now();t.innerText=""+Math.max(0,Math.round((s-r)/1e3)),r>s&&clearInterval(n)},n=setInterval(i,1e3);i(),e=this.wrapSetStatusText("ConnectionStatus.ReconnectInPlain",[t])}else e=this.wrapSetStatusText("ConnectionStatus.Reconnecting");else e=this.wrapSetStatusText("ConnectionStatus.Waiting");else this.updating?e=this.wrapSetStatusText("Updating"):e=this.wrapSetStatusText("Search");_n&&this.log("setState",this.connecting||this.updating),this.rAF&&window.cancelAnimationFrame(this.rAF),this.rAF=window.requestAnimationFrame(()=>{this.rAF=0,this.setStateTimeout&&clearTimeout(this.setStateTimeout);const t=this.inputSearch.isLoading(),s=()=>{e();const i=this.connecting||this.updating;this.inputSearch.toggleLoading(i),this.setStateTimeout=0,_n&&this.log("setState: isShown:",i)};t?s():this.setStateTimeout=window.setTimeout(s,fl.CHANGE_STATE_DELAY)})}}construct(e,t,s){this.managers=e,this.inputSearch=s,this.log=Ni("CS",void 0,void 0),this.inputSearch.setPlaceholder("Search"),I.addEventListener("connection_status_change",i=>{this.setConnectionStatus()}),I.addEventListener("state_synchronizing",()=>{this.updating=!0,_n&&this.log("updating",this.updating),this.setState()}),I.addEventListener("state_synchronized",()=>{_n&&this.log("state_synchronized"),this.updating=!1,_n&&this.log("updating",this.updating),this.setState()}),this.setFirstConnectionTimeout=window.setTimeout(this.setConnectionStatus,fl.INITIAL_DELAY)}getA(e,t){const s=document.createElement("a");return s.classList.add("force-reconnect"),s.append(P(e)),J(s,i=>{_e(i),t()}),s}};fl.CHANGE_STATE_DELAY=400,fl.INITIAL_DELAY=2e3,fl.ANIMATION_DURATION=250;let jh=fl;class jo{constructor(e={}){this.prevValue="",this.timeout=0,this.setArrowBack=n=>{this.arrowBack!==n&&(this.arrowBack=n,this.container.classList.toggle("with-arrow-back",n),n&&!this.backBtn&&(this.backBtn=this.createButtonIcon("arrow_prev","input-search-icon","input-search-back"),this.container.append(this.backBtn),J(this.backBtn,this.onBack,{listenerSetter:this.listenerSetter,cancelMouseDown:!0})),this.searchIcon.classList.toggle("hide",n),this.backBtn&&this.backBtn.classList.toggle("hide",!n),this.clearBtn.classList.toggle("always-visible",!n&&!!this.alwaysShowClear))},this.setPlaceholder=(n,r)=>{if(this.currentLangPackKey===n)return;this.currentLangPackKey=n;const o=this.currentPlaceholder;o&&Dt({element:o,className:"is-hiding",forwards:!0,duration:jh.ANIMATION_DURATION,onTransitionEnd:()=>{o.remove()}}),this.currentPlaceholder=P(n,r),this.currentPlaceholder.classList.add("input-search-placeholder","will-animate"),this.container.append(this.currentPlaceholder)},this.onInput=()=>{if(!this.onChange)return;const{value:n,prevValue:r}=this;if(n!==r){if(this.prevValue=n,this.verifyDebounce?.(n,r)===!1){this.clearTimeout(!1),this.onChange(n);return}this.clearTimeout(!0),this.timeout=window.setTimeout(()=>{this.onDebounce?.(!1),this.onChange(n)},this.debounceTime)}},this.onClearClick=n=>{const r=this.inputField.isEmpty();this.value="",this.onChange?.(""),this.onClear?.(n,r)},this.clearTimeout=n=>{clearTimeout(this.timeout),this.onDebounce?.(n)},this.inputField=new Yt({plainText:!0,withBorder:!e.noBorder}),this.listenerSetter=new $t,this.container=this.inputField.container,this.container.classList.remove("input-field"),this.container.classList.add("input-search"),e.oldStyle&&this.container.classList.add("old-style"),this.onChange=e.onChange,this.onClear=e.onClear,this.onDebounce=e.onDebounce,this.onBack=e.onBack,this.debounceTime=e.debounceTime??300,this.verifyDebounce=e.verifyDebounce,this.alwaysShowClear=e.alwaysShowClear;const t=this.input=this.inputField.input;t.classList.add("input-search-input"),e.noFocusEffect||t.classList.add("with-focus-effect");const s=this.searchIcon=this.createIcon("search","input-search-icon"),i=this.clearBtn=this.createButtonIcon("close","input-search-clear");this.listenerSetter.add(t)("input",this.onInput),J(i,this.onClearClick,{listenerSetter:this.listenerSetter,cancelMouseDown:!0}),e.placeholder&&(t.placeholder=" ",this.setPlaceholder(e.placeholder)),e.onFocusChange&&(this.listenerSetter.add(t)("focusin",()=>{e.onFocusChange?.(!0)}),this.listenerSetter.add(t)("focusout",()=>{e.onFocusChange?.(!1)})),this.container.append(s,i),this.setArrowBack(e.arrowBack)}createButtonIcon(e,...t){return t??(t=[]),t.push("input-search-part","input-search-button"),yt(e+" "+t.join(" "),{noRipple:!0})}createIcon(e,...t){return Be(e,"input-search-part",...t)}isLoading(){return this.container.classList.contains("is-connecting")}toggleLoading(e){const t=this.arrowBack?this.clearBtn:this.searchIcon;this.statusPreloader||(this.statusPreloader=new Kn({cancelable:!1}),this.statusPreloader.constructContainer({color:"transparent",bold:!0}),this.statusPreloader.construct?.(),this.statusPreloader.preloader.classList.add("is-visible","will-animate"),t.classList.add("will-animate")),e&&!this.statusPreloader.preloader.parentElement&&this.container.append(this.statusPreloader.preloader),this.statusPreloader.preloader.classList.toggle("is-hiding",!e),t.classList.toggle("is-hiding",e||t===this.clearBtn&&this.inputField.isEmpty()),Dt({element:this.container,className:"is-connecting",forwards:e,duration:jh.ANIMATION_DURATION,onTransitionEnd:e?void 0:()=>{this.statusPreloader.preloader.remove()}})}get value(){return this.inputField.value}set value(e){this.prevValue=e,this.clearTimeout(!1),this.inputField.value=e}remove(){this.clearTimeout(!1),this.verifyDebounce=void 0,this.listenerSetter.removeAll()}}class Zt{constructor(e,t){this._constructor(e,t)}_constructor(e,t=!0){this.slider=e,this.middlewareHelper=e?e.getMiddleware().create():Ht(),this.destroyable=t,this.container=document.createElement("div"),this.container.classList.add("tabs-tab","sidebar-slider-item"),this.header=document.createElement("div"),this.header.classList.add("sidebar-header"),this.closeBtn=yt("left sidebar-close-button",{noRipple:!0}),this.title=document.createElement("div"),this.title.classList.add("sidebar-header__title"),this.header.append(this.closeBtn,this.title),this.content=document.createElement("div"),this.content.classList.add("sidebar-content"),this.scrollable=new tn(this.content,void 0,void 0,!0),this.scrollable.attachBorderListeners(this.container),this.container.append(this.header,this.content),this.slider?.addTab(this),this.listenerSetter=new $t}close(){return this.slider.closeTab(this)}async open(...e){if(this.init)try{const t=this.init(...e);this.init=null,t instanceof Promise&&await t}catch(t){console.error("open tab error",t)}this.slider.selectTab(this)}init(...e){}onOpen(){}onOpenAfterTimeout(){}onClose(){}onCloseAfterTimeout(){this.destroyable&&(this.slider?.deleteTab(this),this.container.remove(),this.scrollable.destroy(),this.listenerSetter?.removeAll(),this.middlewareHelper?.destroy())}setTitle(e){this.title.replaceChildren(P(e))}}class Bs extends Zt{constructor(e){super(e),this.eventListener=new pn}onClose(){this.eventListener.dispatchEvent("close")}onCloseAfterTimeout(){const e=this.eventListener.dispatchResultableEvent("destroy");return this.eventListener.dispatchEvent("destroyAfter",Promise.all(e).then(as,as)),this.eventListener.cleanup(),super.onCloseAfterTimeout()}}const wf=250;class cb{constructor(e){this.historyTabIds=[],this.canHideFirst=!1,this.onCloseBtnClick=()=>{Pt.findItemByType(this.navigationType)?(Pt.back(this.navigationType),this.onTabsCountChange?.()):this.historyTabIds.length&&this.closeTab(this.historyTabIds[this.historyTabIds.length-1])},this.closeTab=(t,s,i)=>{if(t!==void 0&&this.historyTabIds[this.historyTabIds.length-1]!==t)return this.removeTabFromHistory(t),!1;const n=this.historyTabIds.pop();this.onCloseTab(n,s,i);const r=this.historyTabIds[this.historyTabIds.length-1];return this._selectTab(r!==void 0?r instanceof Zt?r.container:r:this.canHideFirst?-1:0,s),!0},Nt(this,e),this.tabs??(this.tabs=new Map),this.tabsContainer=this.sidebarEl.querySelector(".sidebar-slider"),this._selectTab=Sr({content:this.tabsContainer,type:"navigation",transitionTime:wf}),this.canHideFirst||this._selectTab(0),this.middlewareHelper=Ht()}getMiddleware(){return this.middlewareHelper.get()}pushNavigationItem(e){const t={type:this.navigationType,onPop:s=>{if(e.isConfirmationNeededOnClose){const i=e.isConfirmationNeededOnClose();if(i)return Promise.resolve(i).then(()=>{Pt.removeItem(t),this.onTabsCountChange?.(),this.closeTab(void 0,void 0,!0)},()=>{}),!1}return this.closeTab(void 0,s,!0),this.onTabsCountChange?.(),!0}};Pt.pushItem(t),this.onTabsCountChange?.()}async selectTab(e){if(this.historyTabIds[this.historyTabIds.length-1]===e)return!1;const t=e instanceof Zt?e:this.tabs.get(e);return this.onOpenTab&&await this.onOpenTab(),t&&(t.onOpen?.(),t.onOpenAfterTimeout&&setTimeout(()=>{t.onOpenAfterTimeout()},wf)),this.pushNavigationItem(t),this.historyTabIds.push(e),this._selectTab(e instanceof Zt?e.container:e),!0}removeTabFromHistory(e){Vs(this.historyTabIds,e),this.onCloseTab(e,void 0)}closeAllTabs(){const e=this.hasTabsInNavigation();for(let t=this.historyTabIds.length-1;t>=0;--t){const s=this.historyTabIds[t];(s instanceof Zt?s:this.tabs.get(s)).close()}return e}sliceTabsUntilTab(e,t){for(let s=this.historyTabIds.length-1;s>=0;--s){const i=this.historyTabIds[s];if(i!==t){if(i instanceof e)break;this.removeTabFromHistory(i)}}}getTab(e){return this.historyTabIds.find(t=>t instanceof e)}getHistory(){return this.historyTabIds}isTabExists(e){return!!this.getTab(e)}onCloseTab(e,t,s){s||(Pt.removeByType(this.navigationType,!0),this.onTabsCountChange?.());const i=e instanceof Zt?e:this.tabs.get(e);if(i){try{i.onClose?.()}catch{console.error("tab onClose error",i)}i.onCloseAfterTimeout&&setTimeout(()=>{i.onCloseAfterTimeout()},wf+30)}}addTab(e){e.container.parentElement||(this.tabsContainer.append(e.container),e.closeBtn&&e.closeBtn.addEventListener("click",this.onCloseBtnClick))}deleteTab(e){this.tabs.delete(e)}createTab(e,t=!0,s){const i=new e(s?void 0:this,t);return i.managers=this.managers,i}hasTabsInNavigation(){return!!Pt.findItemByType(this.navigationType)}}class db{constructor(e,t){this.container=document.createElement("div"),this.container.classList.add("avatar-edit"),this.canvas=document.createElement("canvas"),this.canvas.classList.add("avatar-edit-canvas"),this.icon=Be("cameraadd","avatar-edit-icon"),this.container.append(this.canvas,this.icon),J(this.container,()=>{ue.createPopup(p_,t).open(this.canvas,e)})}clear(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height)}}const Cn=(a={})=>{const e=ot("btn-circle btn-corner z-depth-1"+(a.className?" "+a.className:""),a);return e.tabIndex=-1,e};function ln(a,e=" "){if(a===void 0)return"";const t=a.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,e),t.join(".")}function hb(a){return a===void 0?"":ln(a,",")}function Jr(a){return a===void 0?"":ln(a,",")}function qo(a){if(!a)return document.createElement("span");let e,t;switch(a.id){case Lo.toUserId():e="Peer.RepliesNotifications";break;case ku.toUserId():e="Peer.ServiceNotifications";break;default:{if(a.pFlags.bot){if(a.bot_active_users===void 0){e="Bot";break}e="BotUsers",t=[ln(a.bot_active_users)];break}if(a.pFlags.support){e="SupportStatus";break}switch(a.status?._){case"userStatusRecently":{e="Lately";break}case"userStatusLastWeek":{e="WithinAWeek";break}case"userStatusLastMonth":{e="WithinAMonth";break}case"userStatusOffline":{const s=a.status.was_online,i=new Date,r=(i.getTime()/1e3|0)-s;if(r<60)e="Peer.Status.justNow";else if(r<3600)e="Peer.Status.minAgo",t=[r/60|0];else if(r<86400&&i.getDate()===new Date(s*1e3).getDate())e="LastSeen.HoursAgo",t=[r/3600|0];else{e="Peer.Status.LastSeenAt";const{dateEl:o,timeEl:l}=OC(s);t=[o,l]}break}case"userStatusOnline":{e="Online";break}default:{e="ALongTimeAgo";break}}break}}return P(e,t)}const Fg=()=>{const a=document.createElement("div");return a.classList.add("gradient-delimiter"),a},Nd="sidebar-left-section";class Oe{constructor(e={}){const t=this.container=document.createElement("div");t.classList.add(Nd+"-container");const s=this.innerContainer=document.createElement("div");if(s.classList.add(Nd),e.noShadow&&s.classList.add("no-shadow"),e.fakeGradientDelimiter)s.append(Fg()),s.classList.add("with-fake-delimiter");else if(e.noDelimiter)s.classList.add("no-delimiter");else{const r=document.createElement("hr");s.append(r)}const i=this.content=this.generateContentElement();if(e.name){const r=this.title=document.createElement("div");r.classList.add("sidebar-left-h2",Nd+"-name"),typeof e.name=="string"?Rh({element:r,key:e.name,args:e.nameArgs}):r.append(e.name),i.append(r)}t.append(s);const n=e.caption??e.captionOld;if(n){const r=this.caption=this.generateContentElement();r.classList.add(Nd+"-caption"),e.captionOld||t.append(r),n!==!0&&Rh({element:r,key:n,args:e.captionArgs})}}generateContentElement(){const e=document.createElement("div");return e.classList.add(Nd+"-content"),this.innerContainer.append(e),e}}const Xc=(a,e,t)=>{const s=new Oe({name:e,caption:t});return a.append(s.container),s.content};class Q_ extends Zt{constructor(){super(...arguments),this.uploadAvatar=null,this.isGeoChat=!1}init({peerIds:e,isGeoChat:t=!1,onCreate:s,openAfter:i=!0,title:n,asChannel:r=!1}){this.isGeoChat=t,this.peerIds=e,this.container.classList.add("new-group-container"),this.setTitle("NewGroup"),this.avatarEdit=new db(g=>{this.uploadAvatar=g});const o=new Oe({}),l=document.createElement("div");l.classList.add("input-wrapper"),this.groupNameInputField=new Yt({label:"CreateGroup.NameHolder",maxLength:128}),this.groupLocationInputField=new Yt({label:"ChatLocation",name:"location",canBeEdited:!1}),l.append(this.groupNameInputField.container,this.groupLocationInputField.container),this.listenerSetter.add(this.groupNameInputField.input)("input",()=>{let f=!!this.groupNameInputField.value.length&&!this.groupNameInputField.input.classList.contains("error");this.isGeoChat&&(f=f&&!!this.userLocationCoords&&!!this.userLocationAddress),this.nextBtn.classList.toggle("is-visible",!!f)}),this.nextBtn=Cn({icon:"arrow_next"}),J(this.nextBtn,()=>{const g=this.groupNameInputField.value,f=this.peerIds.map(y=>y.toUserId());let v;if(this.isGeoChat){if(!this.userLocationAddress||!this.userLocationCoords)return;v=this.managers.appChatsManager.createChannel({title:g,about:"",geo_point:{_:"inputGeoPoint",...this.userLocationCoords},address:this.userLocationAddress,megagroup:!0}).then(y=>(this.uploadAvatar&&this.uploadAvatar().then(w=>{this.managers.appChatsManager.editPhoto(y,w)}),this.peerIds.length&&this.managers.appChatsManager.inviteToChannel(y,this.peerIds),y))}else this.nextBtn.disabled=!0,r?(v=this.managers.appChatsManager.createChannel({megagroup:!0,title:g,about:""}),e.length&&(v=v.then(y=>this.managers.appChatsManager.inviteToChannel(y,f).then(()=>y)))):v=this.managers.appChatsManager.createChat(g,f),v=v.then(y=>(this.uploadAvatar&&this.uploadAvatar().then(w=>{this.managers.appChatsManager.editPhoto(y,w)}),y));v&&v.then(y=>{s?.(y),this.close(),i&&Ce.setInnerPeer({peerId:y.toPeerId(!0)})})},{listenerSetter:this.listenerSetter});const c=new Oe({name:"Members",nameArgs:[this.peerIds.length]});this.peerIds.length||c.container.classList.add("hide");const d=this.list=nt.createChatList({new:!0});c.content.append(d),o.content.append(this.avatarEdit.container,l),this.content.append(this.nextBtn),this.scrollable.append(o.container,c.container),t?(this.setTitle("NearbyCreateGroup"),this.groupLocationInputField.container.classList.remove("hide"),this.groupLocationInputField.setValueSilently(Ne.format("Loading",!0)),this.startLocating()):this.groupLocationInputField.container.classList.add("hide");const u=Promise.all(this.peerIds.map(g=>this.managers.appUsersManager.getUser(g.toUserId()))),h=this.managers.appUsersManager.getSelf(),p=u.then(g=>g.map(f=>{const{dom:v}=nt.addDialogNew({peerId:f.id.toPeerId(!1),container:this.list,rippleEnabled:!1,avatarSize:"abitbigger",wrapOptions:{middleware:this.middlewareHelper.get()}});v.lastMessageSpan.append(qo(f))}));let m;return n?this.groupNameInputField.setDraftValue(n):m=this.peerIds.length>0&&this.peerIds.length<5?Promise.all([u,h]).then(([g,f])=>{const v=g.map(w=>[w.first_name,w.last_name].filter(Boolean).join(" "));v.unshift(f.first_name);const y=Kl(v,w=>w?", ":" & ").join("");this.groupNameInputField.setDraftValue(y)}):Promise.resolve(),Promise.all([p,m])}onCloseAfterTimeout(){this.avatarEdit.clear(),this.uploadAvatar=null,this.groupNameInputField.value="",this.groupLocationInputField.container.classList.add("hide"),this.nextBtn.disabled=!1}startLocating(){navigator.geolocation.getCurrentPosition(e=>{this.userLocationCoords={lat:e.coords.latitude,long:e.coords.longitude};let t="https://nominatim.openstreetmap.org/reverse";t+="?lat="+e.coords.latitude,t+="&lon="+e.coords.longitude,t+="&format=json",t+="&addressdetails=1",t+="&accept-language=en",fetch(t).then(s=>s.json()).then(s=>{this.userLocationAddress=s.display_name,this.groupLocationInputField.setValueSilently(s.display_name)})},e=>{e instanceof GeolocationPositionError?this.groupLocationInputField.setValueSilently("Location permission denied. Please retry later."):this.groupLocationInputField.setValueSilently("An error has occurred. Please retry later.")})}}function di(a,e,t,s){return s===void 0&&(s=a.parentElement===e?Bn(a):-1),s===t?!1:(s!==-1&&st?e.insertBefore(a,e.children[t]):e.append(a):e.prepend(a),!0)}function Tl(a,e,t,s,i){if(!t)t=o=>o;else if(typeof t!="function"){const o=t;t=l=>l[o]}i||(i=(o,l)=>o-l);const n=t(e);if(s??(s=a.indexOf(e)),s!==-1){const o=a[s-1],l=a[s+1];if((!o||i(t(o),n)>=0)&&(!l||i(t(l),n)<=0))return s;a.splice(s,1)}const r=a.length;if(!r||i(n,t(a[r-1]))<=0)return a.push(e)-1;if(i(n,t(a[0]))>=0)return a.unshift(e),0;for(let o=0;o0)return a.splice(o,0,e),o;return console.error("wtf",a,e),a.indexOf(e)}const Jk=Vo("MIDDLEWARE");function Bl(a,e=Jk){return t=>{if(!(t instanceof Promise)){if(t instanceof Error)throw t;return t}return t.then(s=>{if(!a())throw e;return s})}}let eT=0;class X_{constructor(e){Nt(this,e),this.queue=[],this.middlewareHelper??(this.middlewareHelper=Ht());const t="BATCH-PROCESSOR-"+ ++eT,s=Rn.Log|Rn.Warn|Rn.Error;this.log?this.log=this.log.bindPrefix(t,s):this.log=Ni(t,s)}get queuePromise(){return this.promise}clear(){this.log("clear"),this.queue.length=0,this.promise=void 0,this.middlewareHelper.clean()}addToQueue(e){return this.queue.push(e),this.setQueue()}setQueue(){if(!this.queue.length)return Promise.resolve();if(this.promise)return this.promise;const e=this.middlewareHelper.get(),t=this.log.bindPrefix("queue"),s=Bl(e,this.possibleError),i=async()=>{t("start",this.queue.length);const r=this.queue.splice(0,this.queue.length),o=performance.now(),l=r.map(d=>(d instanceof Promise&&d.then(u=>{t("render item time",performance.now()-o,u)}),d)),c=await s(Promise.all(l));if(await s(this.process(c,s,t)),t("queue rendered"),this.queue.length)return t("have new items to render"),i();t("end")};t("setting pause");const n=this.promise=s(ns(0)).then(()=>i().catch(r=>{throw r!==this.possibleError&&t.error("process queue error",r),r}),r=>{throw t("pause has been cleared"),r}).finally(()=>{this.promise===n&&(this.promise=void 0)});return n}}class Bg{constructor(e){this.updateElementWith=t=>t(),this.updateListWith=t=>t(!0),Nt(this,e),this.elements=new Map,this.sorted=[],this.middlewareHelper=e.middleware?.create()||Ht(),this.batchProcessor=new X_({log:this.log,process:async(t,s,i)=>{const r=t.map(o=>this.update(o.id,o));await s(Promise.all(r))}})}clear(){this.batchProcessor.clear(),this.middlewareHelper.clean(),this.elements.clear(),this.sorted.length=0}_updateList(){this.elements.forEach(e=>{this.update(e.id)}),this.onSort&&this.sorted.forEach((e,t)=>{this.onSort(e,t)})}updateList(e){const t=this.middlewareHelper.get();this.updateListWith(s=>{if(!t()||s!==void 0&&!s){e?.(!1);return}this._updateList(),e?.(!0)})}has(e){return this.elements.has(e)}get(e){return this.elements.get(e)}getAll(){return this.elements}async add(e){if(this.get(e))return;const s={id:e,index:0};this.elements.set(e,s);let i=this.onElementCreate(s);if(i instanceof Promise){let n=!1;i=Promise.race([i.then(r=>(n=!0,r)),ns(1e3).then(()=>{if(!n)return console.error("loadPromises are still pending?",s),s})])}return this.batchProcessor.addToQueue(i)}delete(e,t){const s=this.elements.get(e);if(!s)return!1;this.elements.delete(e);const i=this.sorted.indexOf(s);if(i!==-1&&this.sorted.splice(i,1),this.onDelete)if(t)this.onDelete(s);else{const n=this.middlewareHelper.get();this.updateElementWith(()=>{n()&&this.onDelete(s)})}return!0}async update(e,t=this.get(e)){if(!t||(t.index=await this.getIndex(t),this.get(e)!==t))return;this.onUpdate?.(t);const s=Tl(this.sorted,t,"index");this.onSort(t,s)}}function Z_(a){return a.participants_count||a.participants?.participants?.length||1}function fS(a,e){let t;e?t=Z_(e):t=a.participants_count||a.participants?.participants.length;const s=a.pFlags.broadcast;return t=t||1,P(s?"Peer.Status.Subscribers":"Peer.Status.Member",[ln(t)])}function ja(a,e=I.managers,t,s,i){if(t??(t=Ae.getChat(a)),t._==="chatForbidden")return P("YouWereKicked");if(s)return fS(t,void 0);const n=i||e.appProfileManager.getCachedFullChat(a);return en(n,r=>fS(t,r))}function ub(a){return a.rank||(a._==="channelParticipantAdmin"||a._==="chatParticipantAdmin"?2:a._==="chatParticipantCreator"||a._==="channelParticipantCreator"?1:void 0)}function J_(a){return typeof a=="object"&&(a=ub(a)),typeof a=="number"?P(a?a===1?"Chat.OwnerBadge":"ChatAdmin":"Chat.ChannelBadge"):je(a)}const og=class og extends Bg{constructor(e){super({getIndex:e.getIndex||(s=>s.id.isAnyChat()?0:this.managers.appUsersManager.getUserStatusForSort(s.id)),onDelete:s=>{s.dialogElement.remove(),this.onListLengthChange?.()},onUpdate:e.onUpdate||(async s=>{if(s.id.isAnyChat()){const i=await ja(s.id.toChatId(),this.managers);St(s.dom.lastMessageSpan,i)}else{const i=qo(await this.managers.appUsersManager.getUser(s.id));St(s.dom.lastMessageSpan,i)}}),onSort:(s,i)=>{const n=s.dom.listEl.parentElement!==this.list;di(s.dom.listEl,this.list,i),n&&this.onListLengthChange&&this.onListLengthChange()},onElementCreate:s=>{const i=nt.addDialogNew({peerId:s.id,container:!1,avatarSize:this.avatarSize,autonomous:this.autonomous,meAsSaved:!1,rippleEnabled:this.rippleEnabled,wrapOptions:{lazyLoadQueue:this.lazyLoadQueue,middleware:this.middlewareHelper.get()},withStories:!0}),n=this.ranks.get(s.id);return n&&i.titleRight.replaceChildren(J_(n)),s.dom=i.dom,s.dialogElement=i,s},updateElementWith:$s,updateListWith:async s=>{if(!Array.from(this.elements.values()).some(i=>i.id.isUser())||!mr(this.list)||(await vi(),!mr(this.list)))return s(!1);s(!0)},middleware:e.middleware}),this.ranks=new Map,this.avatarSize="abitbigger",this.rippleEnabled=!0,this.autonomous=!0,Nt(this,e),this.list=nt.createChatList(this.createChatListOptions);const t=()=>{window.setTimeout(()=>{this.updateList(s=>{s&&t()})},og.SORT_INTERVAL)};t()}};og.SORT_INTERVAL=3e4;let qh=og;class Ou{constructor(e){this._disabled=!1,this.avatarSize=120,this.isChanged=()=>{if(this.uploadAvatar)return!0;let t=0,s=0,i=0;return this.inputFields.forEach(n=>{n.isValid()&&(n.isChanged()&&++t,n.required&&++i),n.required&&++s}),s===i&&t>0},this.handleChange=()=>{this.nextBtn.classList.toggle("is-visible",this.isChanged())},Nt(this,e),this.peerId||(this.peerId=Wt),this.nextBtn?this.nextBtn.classList.contains("btn-corner")||(this.handleChange=()=>{this.nextBtn.toggleAttribute("disabled",!this.isChanged()||this.disabled)}):this.nextBtn=Cn({icon:"check"}),e.withoutAvatar||(this.avatarElem=vs({middleware:e.middleware,size:this.avatarSize,peerId:this.peerId}),this.avatarElem.node.classList.add("avatar-placeholder"),e.doNotEditAvatar||(this.avatarEdit=new db(t=>{this.uploadAvatar=t,this.handleChange(),this.avatarElem.node.remove()},e.popupOptions),this.avatarEdit.container.append(this.avatarElem.node))),this.inputFields.forEach(t=>{this.listenerSetter.add(t.input)("input",this.handleChange)}),this.handleChange()}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this.inputFields.forEach(t=>t.input.toggleAttribute("disabled",e)),this.handleChange()}lockWithPromise(e,t=!1){this.disabled=!0,e.then(()=>{t&&(this.disabled=!1)},()=>{this.disabled=!1})}}function vS(a,e){const t=document.createElement(e?"div":"textarea");if(e?(t.tabIndex=0,t.contentEditable="true",t.innerHTML=e):t.value=a,t.style.top="0",t.style.left="0",t.style.position="fixed",document.body.appendChild(t),t.focus(),e){const s=window.getSelection();s.removeAllRanges();const i=document.createRange();i.setStartBefore(t.firstChild),i.setEndAfter(t.lastChild),s.addRange(i)}else t.select();try{document.execCommand("copy"),window.getSelection().removeAllRanges()}catch(s){console.error("unable to copy",s)}document.body.removeChild(t)}async function si(a,e){if(!navigator.clipboard){vS(a);return}try{if(!e){await navigator.clipboard.writeText(a);return}await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([a],{type:"text/plain"}),"text/html":new Blob([e],{type:"text/html"})})])}catch(t){console.error("clipboard error",t),vS(a,e)}}function $i(a,e,t=!0,s=!0){let i,n,r,o,l=!1;const c=u=>{const h=r,p=o;try{const m=a.apply(null,u);h(m)}catch(m){console.error("debounce error",m),p(m)}},d=(...u)=>{n||(n=new Promise((p,m)=>(r=p,o=m))),i?(clearTimeout(i),l=!0,o(),n=new Promise((p,m)=>(r=p,o=m))):t&&(c(u),l=!1);const h=dm.setTimeout(()=>{s&&(!t||l)&&c(u),i===h&&(i=n=r=o=void 0,l=!1)},e);return i=h,n.catch(as),n};return d.clearTimeout=()=>{i&&(dm.clearTimeout(i),o(),i=n=r=o=void 0,l=!1)},d.isDebounced=()=>!!i,d}function Nv(a){if(a.length<3||a.length>32||!/[a-zA-Z]/.test(a.charAt(0)))return!1;for(let e=0;e=3&&Nv(a)}class pb extends Yt{constructor(e,t){super(e),this.managers=t,this.checkUsernameDebounced=$i(this.checkUsername.bind(this),150,!1,!0),e.listenerSetter.add(this.input)("input",()=>{const s=this.getValue();if(this.error=void 0,s===this.originalValue||!s.length){this.setState(ra.Neutral),this.options.onChange?.();return}else Nv(s)?this.setState(ra.Neutral):this.setError(this.options.invalidText);if(this.input.classList.contains("error")){this.options.onChange?.();return}this.checkUsernameDebounced(s)})}getValue(){let e=this.value;return this.options.head&&(e=e.slice(this.options.head.length),this.setValueSilently(this.options.head+e)),e}checkUsername(e){if(this.checkUsernamePromise)return;this.error=void 0;let t;this.options.peerId?t=this.managers.appChatsManager.checkUsername(this.options.peerId.toChatId(),e):t=this.managers.appUsersManager.checkUsername(e);const s=this.checkUsernamePromise=t.then(i=>{this.getValue()===e&&(i?this.setState(ra.Valid,this.options.availableText):this.setError(this.options.takenText))},i=>{if(this.getValue()===e)switch(this.error=i,this.error.type){case"USERNAME_PURCHASE_AVAILABLE":{this.setError(this.options.takenText);break}case"USERNAME_INVALID":default:{this.setError(this.options.invalidText);break}}}).then(()=>{this.checkUsernamePromise===s&&(this.checkUsernamePromise=void 0),this.options.onChange?.();const i=this.getValue();i!==e&&this.isValidToChange()&&Nv(i)&&this.checkUsername(i)})}}const ym=a=>"touches"in a?a.touches[0]:a;function yS(a,e){return e?Math.hypot(e.pageX-a.pageX,e.pageY-a.pageY):0}function bS(a,e){return{x:(a.pageX+e.pageX)/2,y:(a.pageY+e.pageY)/2}}const el=document;let e1=!1;Li.addEventListener("toggle",a=>{e1=a});const Sf={passive:!1},Cf=!1,sT={capture:!0,passive:!1};class Qn{constructor(e){this.reset=t=>{this.log("reset"),pt?this.listenerSetter.removeManual(el,"touchmove",this.handleMove,Sf):(this.listenerSetter.removeManual(el,"mousemove",this.handleMove,Cf),this.setCursorTo.style.cursor=""),this.hadMove&&this.onReset?.(t),this.releaseWheelDrag?.clearTimeout(),this.releaseWheelZoom?.clearTimeout(),this.resetValues()},this.handleStart=async t=>{if(this.log("start"),this.isMouseDown){const r=t.touches;r?.length===2&&(this.initialDistance=yS(r[0],r[1]),this.initialTouchCenter=bS(r[0],r[1]));return}const s=ym(t);if(![0,1].includes(Math.max(0,s.button??0))||(s.button===1&&_e(t),UC(t)))return;const i=++this.tempId,n=this.verifyTouchTarget?.(t);if(n!==void 0){let r;if(n instanceof Promise){if(r=await n,this.tempId!==i)return}else r=n;if(!r)return this.reset()}if(this.isMouseDown=!0,this.withDelay&&!pt){const r={...Cf,once:!0},o=Mt(),l=()=>o.resolve(),c=this.listenerSetter.add(el)("mousemove",l,r);if(await Promise.race([ns(300),o]),o.resolve(),this.listenerSetter.remove(c),this.tempId!==i)return}this.xDown=s.clientX,this.yDown=s.clientY,this.eventUp=s,pt?this.listenerSetter.add(el)("touchmove",this.handleMove,Sf):this.listenerSetter.add(el)("mousemove",this.handleMove,Cf),this.onStart&&(this.onStart(),this.hadMove=!0,this.handleMove(s))},this.handleMove=t=>{if(this.xDown===void 0||this.yDown===void 0||e1){this.reset();return}if(this.cancelEvent&&_e(t),this.releaseWheelDrag?.isDebounced()||this.releaseWheelZoom?.isDebounced())return;this.log("move");const s=this.eventUp=ym(t),i=s.clientX,n=s.clientY,r=i-this.xDown+this.xAdded,o=n-this.yDown+this.yAdded;if(!this.hadMove){if(!r&&!o)return;this.setHadMove(t)}const l=t.touches;if(this.onZoom&&this.initialDistance>0&&l.length===2){const c=yS(l[0],l[1]),d=bS(l[0],l[1]),u=d.x-this.initialTouchCenter.x,h=d.y-this.initialTouchCenter.y,m={zoomFactor:c/this.initialDistance,initialCenterX:this.initialTouchCenter.x,initialCenterY:this.initialTouchCenter.y,dragOffsetX:u,dragOffsetY:h,currentCenterX:d.x,currentCenterY:d.y};this.onZoom(m)}this.dispatchOnSwipe(r,o,t)},this.handleWheel=t=>{if(!this.hadMove&&this.verifyTouchTarget){const i=this.verifyTouchTarget(t);if(i!==void 0&&!i){this.reset(t);return}}if(_e(t),this.log("wheel"),this.onDoubleClick&&Object.is(t.deltaX,-0)&&Object.is(t.deltaY,-0)&&t.ctrlKey){this.onWheelCapture(t),this.onDoubleClick({centerX:t.pageX,centerY:t.pageY}),this.reset();return}t.metaKey||t.ctrlKey||t.shiftKey?(this.releaseWheelDrag?.isDebounced()&&this.reset(),this.onWheelZoom(t)):this.handleWheelDrag(t)},this.handleWheelDrag=t=>{this.log("wheel drag"),this.onWheelCapture(t),(!this.isDragCanceled.x||Math.sign(this.initialDragOffset.x)===Math.sign(t.deltaX))&&(this.initialDragOffset.x-=t.deltaX),(!this.isDragCanceled.y||Math.sign(this.initialDragOffset.y)===Math.sign(t.deltaY))&&(this.initialDragOffset.y-=t.deltaY);const{x:s,y:i}=this.initialDragOffset;this.releaseWheelDrag(t),this.dispatchOnSwipe(s,i,t,(n,r)=>{this.isDragCanceled={x:n,y:r}})},this.onWheelCapture=t=>{this.hadMove||(this.log("wheel capture"),this.handleStart(t),this.setHadMove(t),this.initialTouchCenter={x:t.x,y:t.y})},this.onWheelZoom=t=>{if(!this.onZoom)return;this.log("wheel zoom"),this.onWheelCapture(t);const s=t.x-this.initialTouchCenter.x,i=t.y-this.initialTouchCenter.y,n=zt(t.deltaY,-25,25);this.wheelZoom-=n*.01;const r={zoomAdd:this.wheelZoom-1,initialCenterX:this.initialTouchCenter.x,initialCenterY:this.initialTouchCenter.y,dragOffsetX:s,dragOffsetY:i,currentCenterX:t.x,currentCenterY:t.y};this.onZoom(r),this.releaseWheelZoom(t)},Nt(this,e),this.log=Ni("SWIPE-HANDLER"),this.cursor??(this.cursor="grabbing"),this.cancelEvent??(this.cancelEvent=!0),this.listenerOptions??(this.listenerOptions=Sf),this.setCursorTo??(this.setCursorTo=this.element),this.listenerSetter=new $t,this.setListeners(),this.resetValues(),this.tempId=0,e.middleware?.onDestroy(()=>{this.reset(),this.removeListeners()}),this.releaseWheelDrag=$i(this.reset,150,!1),this.releaseWheelZoom=$i(this.reset,150,!1)}setListeners(){pt?(this.withDelay?Er({element:this.element,callback:e=>{_e(e),this.handleStart(e)},listenerSetter:this.listenerSetter,listenerOptions:this.listenerOptions}):this.listenerSetter.add(this.element)("touchstart",this.handleStart,this.listenerOptions),this.onDoubleClick&&this.listenerSetter.add(this.element)("dblclick",e=>{this.onDoubleClick({centerX:e.pageX,centerY:e.pageY})}),this.listenerSetter.add(el)("touchend",this.reset)):(this.listenerSetter.add(this.element)("mousedown",this.handleStart,this.listenerOptions),this.listenerSetter.add(el)("mouseup",this.reset),(this.onZoom||this.onDoubleClick)&&this.listenerSetter.add(this.element)("wheel",this.handleWheel,sT))}removeListeners(){this.log("remove listeners"),this.reset(),this.listenerSetter.removeAll()}setCursor(e=""){this.cursor=e,!pt&&this.hadMove&&this.setCursorTo.style.setProperty("cursor",this.cursor,"important")}add(e,t){this.xAdded=e,this.yAdded=t,this.handleMove({clientX:this.eventUp.clientX,clientY:this.eventUp.clientY,target:this.eventUp.target})}resetValues(){++this.tempId,this.hadMove=!1,this.xAdded=this.yAdded=0,this.xDown=this.yDown=this.eventUp=this.isMouseDown=void 0,this.onZoom&&(this.initialDistance=0,this.initialTouchCenter={x:It.width/2,y:It.height/2},this.initialDragOffset={x:0,y:0},this.isDragCanceled={x:!1,y:!1},this.wheelZoom=1)}setHadMove(e){this.hadMove||(this.log("had move"),this.hadMove=!0,this.setCursorTo.style.setProperty("cursor",this.cursor,"important"),this.onFirstSwipe?.(e))}dispatchOnSwipe(...e){const t=this.onSwipe(...e);t!==void 0&&t&&this.reset()}}class mb{constructor(e){this.onSwipe=(t,s)=>{s=zt(s,this.minY,this.maxY),this.element.style.transform=`translateY(${s}px)`;const i=Math.round(Math.abs(s)/this.elementRect.height),n=this.siblings;this.siblings=[];const r=s<0?"previousElementSibling":"nextElementSibling";let o=this.element[r];for(let l=0;l{this.siblings.includes(l)||(l.style.transform="")}),this.siblings.forEach(l=>{const c=this.elementRect.height*(s<0?1:-1);l.style.transform=`translateY(${c}px)`}),this.scrollableRect){const l=s,c=l>0,u=(c?this.elementRect.bottom:this.elementRect.top)+l-this.addScrollPos;let h=2;u+(c?0:this.elementRect.height)>=this.scrollableRect.bottom||(u-(c?this.elementRect.height:0)<=this.scrollableRect.top?h*=-1:h=void 0),h!==void 0&&(this.scrollable.scrollPosition+=h)}},this.verifyTouchTarget=t=>this.list.classList.contains("is-reordering")?!1:(this.element=this.getSortableTarget(t.target),!!this.element),this.onScroll=()=>{const t=this.scrollable.scrollPosition,s=this.addScrollPos=t-this.startScrollPos,i=this.scrollable.scrollPositionProperty==="scrollTop";this.swipeHandler.add(i?0:s,i?s:0)},this.onStart=()=>{this.list.classList.add("is-reordering"),this.element.classList.add("is-dragging","no-transition"),this.swipeHandler.setCursor("grabbing"),this.elementRect=this.element.getBoundingClientRect(),this.containerRect=this.list.getBoundingClientRect(),this.minY=this.containerRect.top-this.elementRect.top,this.maxY=this.containerRect.bottom-this.elementRect.bottom,this.addScrollPos=0,this.scrollable&&(this.startScrollPos=this.scrollable.scrollPosition,this.scrollableRect=this.scrollable.container.getBoundingClientRect(),this.scrollable.container.addEventListener("scroll",this.onScroll))},this.onReset=async()=>{const t=this.siblings.length,s=t&&t*(this.siblings[0].previousElementSibling===this.element?1:-1),i=Bn(this.element),n=i+s;this.element.classList.remove("no-transition"),this.element.style.transform=s?`translateY(${s*this.elementRect.height}px)`:"",this.swipeHandler.setCursor(""),this.scrollable&&this.scrollable.container.removeEventListener("scroll",this.onScroll),pt||J(document.body,_e,{capture:!0,once:!0}),wt.isAvailable("animations")&&await ns(250),this.list.classList.remove("is-reordering"),this.element.classList.remove("is-dragging"),di(this.element,this.list,n,i),[this.element,...this.siblings].forEach(r=>{r.style.transform=""}),this.element=this.siblings=this.elementRect=this.containerRect=this.minY=this.maxY=this.startScrollPos=this.addScrollPos=void 0,s&&this.onSort(i,n)},Nt(this,e),this.swipeHandler=new Qn({element:this.list,onSwipe:this.onSwipe,verifyTouchTarget:this.verifyTouchTarget,onStart:this.onStart,onReset:this.onReset,setCursorTo:document.body,middleware:this.middleware,withDelay:!0})}getSortableTarget(e){if(!e)return;let t=Mi(e,this.list);return t&&t.classList.contains("cant-sort")&&(t=void 0),t}}function Rt(a){return new Promise((e,t)=>{const{button:s,checkbox:i,rejectWithReason:n}=a;s.callback=(c,d)=>{e(i||!d?d?!!d.size:void 0:a.checkboxes.map(u=>d.has(u.text)))};const r=Go(a.buttons||[s]),o=r.find(c=>c.isCancel);o.callback=()=>{t(n?"canceled":void 0)},a.buttons=r,a.checkboxes??(a.checkboxes=i&&[i]);const l=ue.createPopup(mi,"popup-confirmation",a);l.addEventListener("closeAfterTimeout",()=>{t(n?"closed":void 0)}),l.show()})}const zp="usernames";class gb extends Fe{constructor(e,t="limit_link",s,i,n){super({title:!0,subtitle:!0,clickable:!0,titleRight:i,subtitleRight:n}),e&&(this.title.classList.add("text-bold"),this.container.classList.add("is-link")),this.container.classList.add(zp+"-username"),this.subtitle.classList.add(zp+"-username-status");const r=this.createMedia("abitbigger");r.classList.add(zp+"-username-icon","avatar-gradient"),s&&(r.dataset.color=s),e&&t==="link_paid"&&this.container.classList.add("is-paid"),r.append(Be(t))}}class fb extends Oe{constructor(e){super({name:"UsernamesProfileHeader",caption:e.peer.pFlags.bot?"UsernamesBotHelp":e.peerId.isUser()?"UsernamesProfileHelp":"UsernamesChannelHelp"});const{peerId:t,peer:s,usernameInputField:i,listenerSetter:n,middleware:r}=e,o=I.managers,l=t.isUser()?void 0:t.toChatId(),c=e.peer.pFlags.bot?t.toUserId():void 0;c&&i.container.classList.add("disable-hover");const d=this,u=document.createElement("div");u.classList.add(zp);let h;const p=new Bg({getIndex:f=>h.length-h.findIndex(v=>v.username===f.id),onDelete:f=>{f.row.container.remove()},onSort:(f,v)=>{di(f.row.container,u,v)},onElementCreate:f=>{const v=h.find(S=>S.username===f.id),y=new gb;y.title.textContent="@"+v.username;const w=!!v.pFlags.editable,b=!!v.pFlags.active;return w&&(y.container.dataset.editable="1"),y.makeSortable(),m(y,b),f.row=y,f},middleware:r}),m=(f,v)=>{f.subtitle.replaceChildren(P(f.container.dataset.editable?c?"UsernameLinkBotUsername":"UsernameLinkEditable":v?"UsernameLinkActive":"UsernameLinkInactive")),f.container.classList.toggle("active",v),f.toggleSorting(v)},g=(f=[])=>{h=f,p.getAll().forEach(v=>{f.some(y=>y.username===v.id)||p.delete(v.id)}),f.forEach(v=>{if(!p.has(v.username))p.add(v.username);else{const y=p.get(v.username);p.update(v.username,y),m(y.row,!!v.pFlags.active)}}),d.container.classList.toggle("hide",!p.getAll().size)};g(s.usernames),n.add(I)("peer_title_edit",async({peerId:f})=>{if(f!==t)return;const v=await o.appPeersManager.getPeer(t);g(v.usernames)}),J(u,async f=>{const v=Mi(f.target,u);if(!v)return;if(v.dataset.editable){c||Ki(i.input,!0,!0);return}const y=v.dataset.username,w=v.classList.contains("active");let b,S;w?(b="UsernameDeactivateLink",S=c?"UsernameDeactivateLinkBotMessage":l?"UsernameDeactivateLinkChannelMessage":"UsernameDeactivateLinkProfileMessage"):(b="UsernameActivateLink",S=c?"UsernameActivateLinkBotMessage":l?"UsernameActivateLinkChannelMessage":"UsernameActivateLinkProfileMessage");try{await Rt({titleLangKey:b,descriptionLangKey:S,button:{langKey:w?"Hide":"Show"}})}catch{return}const _=!w;o.appUsernamesManager.toggleUsername({peerId:t,username:y,active:_}).catch(C=>{C.type==="USERNAMES_ACTIVE_TOO_MUCH"?Rt({titleLangKey:"UsernameActivateErrorTitle",descriptionLangKey:"UsernameActivateErrorMessage",button:{langKey:"OK",isCancel:!0}}).catch(as):console.error("turn username error",C)})}),new mb({list:u,middleware:r,onSort:(f,v)=>{const y=h.splice(f,1)[0];h.splice(v,0,y),p.updateList();const w=h.filter(b=>b.pFlags.active).map(b=>b.username);o.appUsernamesManager.reorderUsernames({peerId:t,order:w})}}),d.content.append(u)}}function Yh(a){return a.username?a.username:a.usernames?.find(s=>s.pFlags.editable)?.username}function vb(){const a=document.createElement("div"),e="https://fragment.com/username/",t=jl(document.createElement("a")),s=P("Username.Purchase",[t]);return s.classList.add("username-purchase-help"),a.append(s,document.createElement("br"),document.createElement("br")),a.classList.add("hide"),{element:a,setUsername:i=>{i&&(t.href=e+i),a.classList.toggle("hide",!i)}}}class bm extends Zt{static getInitArgs(){return{bioMaxLength:I.managers.apiManager.getLimit("bio"),user:I.managers.appUsersManager.getSelf(),userFull:I.managers.appProfileManager.getProfile(I.myId.toUserId())}}async init(e=bm.getInitArgs()){this.container.classList.add("edit-profile-container"),this.setTitle("EditAccount.Title");const t=[],[s,i,n]=await Promise.all([e.bioMaxLength,e.user,e.userFull]);{const r=Xc(this.scrollable,void 0,"Bio.Description"),o=document.createElement("div");o.classList.add("input-wrapper"),this.firstNameInputField=new Yt({label:"EditProfile.FirstNameLabel",name:"first-name",maxLength:70}),this.lastNameInputField=new Yt({label:"Login.Register.LastName.Placeholder",name:"last-name",maxLength:64}),this.bioInputField=new Yt({label:"EditProfile.BioLabel",name:"bio",maxLength:s}),o.append(this.firstNameInputField.container,this.lastNameInputField.container,this.bioInputField.container),t.push(this.firstNameInputField,this.lastNameInputField,this.bioInputField),this.editPeer=new Ou({peerId:I.myId,inputFields:t,listenerSetter:this.listenerSetter,middleware:this.middlewareHelper.get()}),this.content.append(this.editPeer.nextBtn),r.append(this.editPeer.avatarEdit.container,o)}{const r=new Oe({name:"EditAccount.Username",caption:!0}),o=document.createElement("div");o.classList.add("input-wrapper"),this.usernameInputField=new pb({label:"EditProfile.Username.Label",name:"username",plainText:!0,listenerSetter:this.listenerSetter,onChange:()=>{this.editPeer.handleChange();const{error:u}=this.usernameInputField,h=u?.type==="USERNAME_PURCHASE_AVAILABLE";c(h?this.usernameInputField.value:void 0)},availableText:"EditProfile.Username.Available",takenText:"EditProfile.Username.Taken",invalidText:"EditProfile.Username.Invalid"},this.managers),o.append(this.usernameInputField.container);const l=r.caption,{setUsername:c,element:d}=vb();l.append(d,P("UsernameHelp")),t.push(this.usernameInputField),r.content.append(o),this.scrollable.append(r.container)}{const r=new fb({peerId:I.myId,peer:i,listenerSetter:this.listenerSetter,usernameInputField:this.usernameInputField,middleware:this.middlewareHelper.get()});this.scrollable.append(r.container)}J(this.editPeer.nextBtn,()=>{this.editPeer.nextBtn.disabled=!0;const r=[],o=this.managers.appProfileManager.updateProfile(this.firstNameInputField.value,this.lastNameInputField.value,this.bioInputField.value);r.push(o.then(()=>{this.close()},l=>{console.error("updateProfile error:",l)})),this.editPeer.uploadAvatar&&r.push(this.editPeer.uploadAvatar().then(l=>this.managers.appProfileManager.uploadProfilePhoto(l))),this.usernameInputField.isValidToChange()&&r.push(this.managers.appUsersManager.updateUsername(this.usernameInputField.value)),Promise.race(r).finally(()=>{this.editPeer.nextBtn.removeAttribute("disabled")})},{listenerSetter:this.listenerSetter}),this.firstNameInputField.setOriginalValue(i.first_name,!0),this.lastNameInputField.setOriginalValue(i.last_name,!0),this.bioInputField.setOriginalValue(n.about,!0),this.usernameInputField.setOriginalValue(Yh(i),!0),this.editPeer.handleChange()}}class iT extends Bs{async init(){this.container.classList.add("edit-peer-container","group-type-container");const e=await this.managers.appChatsManager.isBroadcast(this.chatId),t=this.chatFull.linked_chat_id;this.setTitle(e?"ChannelType":"GroupType");const s=new Oe({name:e?"ChannelType":"GroupType"}),i=xu(),n=new Fe({radioField:new rn({langKey:e?"ChannelPrivate":"MegaPrivate",name:i,value:"private"}),subtitleLangKey:e?"ChannelPrivateInfo":"MegaPrivateInfo"}),r=new Fe({radioField:new rn({langKey:e?"ChannelPublic":"MegaPublic",name:i,value:"public"}),subtitleLangKey:e?"ChannelPublicInfo":"MegaPublicInfo"}),o=Sd([n,r],U=>{const j=[[u.container],[L]];U==="public"&&j.reverse(),j[0].forEach(q=>q.classList.remove("hide")),j[1].forEach(q=>q.classList.add("hide")),b(),G&&!t&&G.container.classList.toggle("hide",U!=="public")});let l=Ae.getChat(this.chatId);const c={basic:[]},d=(U,j="basic")=>{c[j].push(U)};this.listenerSetter.add(I)("chat_update",U=>{this.chatId===U&&(l=Ae.getChat(this.chatId),c.basic.forEach(j=>j()))}),s.content.append(o);const u=new Oe({}),h=new Fe({title:this.chatFull.exported_invite.link,subtitleLangKey:e?"ChannelPrivateLinkHelp":"MegaPrivateLinkHelp",clickable:()=>{si(this.chatFull.exported_invite.link),Wi(Ne.format("LinkCopied",!0))},listenerSetter:this.listenerSetter}),p=ot("btn-primary btn-transparent danger",{icon:"delete",text:"RevokeLink"});J(p,()=>{ue.createPopup(mi,"revoke-link",{buttons:[{langKey:"RevokeButton",callback:()=>{const U=os([p],!0);this.managers.appProfileManager.getChatInviteLink(this.chatId,!0).then(j=>{U(),h.title.textContent=j})}}],titleLangKey:"RevokeLink",descriptionLangKey:"RevokeAlert"}).show()},{listenerSetter:this.listenerSetter}),u.content.append(h.container,p);const m=new Oe({caption:!0,noDelimiter:!0}),g=document.createElement("div");g.classList.add("input-wrapper");const f="t.me/";let v,y,w;const b=()=>{v=n.radioField.checked&&E!==f||S.isValidToChange()&&S.input.classList.contains("valid"),y=!!O&&O.checkboxField.checked!==H,w=!!$&&$.checkboxField.checked!==D,x.classList.toggle("is-visible",v||y||w);const{error:U}=S,j=U?.type==="USERNAME_PURCHASE_AVAILABLE";_(j?S.getValue():void 0)},S=new pb({label:"SetUrlPlaceholder",name:"group-public-link",plainText:!0,listenerSetter:this.listenerSetter,availableText:"Link.Available",invalidText:"Link.Invalid",takenText:"Link.Taken",onChange:b,peerId:this.chatId.toPeerId(!0),head:f},this.managers),{setUsername:_,element:M}=vb();m.caption.append(M,P(e?"Channel.UsernameAboutChannel":"Channel.UsernameAboutGroup"));const C=new fb({peerId:this.chatId.toPeerId(!0),peer:l,listenerSetter:this.listenerSetter,usernameInputField:S,middleware:this.middlewareHelper.get()}),L=document.createElement("div");L.append(m.container,C.container);const E=f+(Yh(l)||"");g.append(S.container),m.content.append(g);const x=Cn({icon:"check",className:"is-visible"});this.content.append(x);const R=()=>r.radioField.checked?S.getValue():"",B=async()=>{const U=R(),j=await this.managers.appChatsManager.migrateChat(this.chatId);return U?this.managers.appChatsManager.updateUsername(j,U):this.managers.appChatsManager.makeChannelPrivate(j)},N=async()=>{if(!R()){const j=Ae.getChat(this.chatId),q=Yh(j);q&&await Rt({descriptionLangKey:e?"ChannelVisibility.Confirm.MakePrivate.Channel":"ChannelVisibility.Confirm.MakePrivate.Group",descriptionLangArgs:[q],button:{langKey:"OK"}})}};J(x,async()=>{v&&await N();const U=tb(x);try{v&&await B(),(y||w)&&await Promise.all([y&&this.managers.appChatsManager.toggleJoinToSend(this.chatId,O.checkboxField.checked),w&&this.managers.appChatsManager.toggleJoinRequest(this.chatId,$.checkboxField.checked)]),this.close()}catch{U()}},{listenerSetter:this.listenerSetter}),this.scrollable.append(s.container,u.container,L);let G,O,$,H,D;if(!e){const U=G=new Oe({name:"ChannelSettingsJoinTitle",caption:t?"ChannelSettingsJoinToSendInfo":"ChannelSettingsJoinRequestInfo"});O=new Fe({titleLangKey:"ChannelSettingsJoinToSend",checkboxField:new _t({toggle:!0})}),$=new Fe({titleLangKey:"ChannelSettingsJoinRequest",checkboxField:new _t({toggle:!0})});const j=()=>t?O.checkboxField.checked:!L.classList.contains("hide"),q=()=>{const ee=j();$.container.classList.toggle("hide",!ee),!ee&&$.checkboxField.checked&&($.checkboxField.checked=!1)},W=()=>{H=!!l.pFlags.join_to_send,D=!!l.pFlags.join_request,O.checkboxField.setValueSilently(H),$.checkboxField.setValueSilently(D),q(),b()};[O,$].forEach(ee=>{this.listenerSetter.add(ee.checkboxField.input)("change",()=>{O===ee&&q(),b()})}),t||O.container.classList.add("hide"),d(W),W(),U.content.append(O.container,$.container),this.scrollable.append(U.container)}{const U=new Oe({name:"SavingContentTitle",caption:e?"RestrictSavingContentInfoChannel":"RestrictSavingContentInfoGroup"});let j;const q=new Fe({titleLangKey:"RestrictSavingContent",checkboxField:j=new _t({toggle:!0})});this.listenerSetter.add(j.input)("change",()=>{const ee=q.toggleDisability(!0);this.managers.appChatsManager.toggleNoForwards(this.chatId,j.checked).then(()=>{ee()})});const W=()=>{j.setValueSilently(!!l.pFlags.noforwards)};d(W),W(),U.content.append(q.container),this.scrollable.append(U.container)}(E!==f||ji(l).length?r:n).radioField.checked=!0,S.setOriginalValue(E,!0)}}class yb{constructor(e){this.loading=!1,this.loaded=!1,Nt(this,e),e.scrollable.onScrolledBottom=()=>{this.load()}}load(){if(this.loaded)return Promise.resolve();if(this.loading)return this.promise;this.loading=!0,this.promise=this.getPromise().then(e=>{this.loading=!1,this.promise=void 0,e?(this.loaded=!0,this.scrollable.onScrolledBottom=null):this.scrollable.checkForTriggers()},()=>{this.promise=void 0,this.loading=!1})}}function nT(a,e){if(a.default_banned_rights){e=kn(e);const t=a.default_banned_rights.pFlags;for(const s in t)e.pFlags[s]=t[s]}return e}function Cr(a,e,t,s){if(!a||a.pFlags.deactivated&&e!=="view_messages")return!1;const i=t===void 0;if(a.pFlags.creator&&i)return!0;if(a._==="chatForbidden"||a._==="channelForbidden"||a.pFlags.left&&!a.pFlags.megagroup||!t&&(t=a.admin_rights||a.banned_rights||a.default_banned_rights,!t))return!1;let n={};t&&(n=t.pFlags);const r=t._==="chatAdminRights";switch(e){case"embed_links":case"send_games":case"send_gifs":case"send_inline":case"send_media":case"send_messages":case"send_polls":case"send_stickers":case"send_photos":case"send_videos":case"send_roundvideos":case"send_audios":case"send_voices":case"send_docs":case"send_plain":{if(!r&&n[e]||a._==="channel"&&!a.pFlags.megagroup&&!n.post_messages)return!1;break}case"delete_messages":case"manage_call":return!!n[e];case"pin_messages":return r?!!(n[e]||!a.pFlags.megagroup&&n.post_messages):!n[e];case"invite_links":return a._==="chat"?!1:r&&!!n.invite_users;case"change_type":case"delete_chat":return!1;case"change_info":case"invite_users":return r||a.pFlags.broadcast?!!n[e]:!n[e];case"delete_stories":case"edit_stories":case"post_stories":case"add_admins":case"anonymous":case"post_messages":case"edit_messages":return r&&!!n[e];case"ban_users":case"change_permissions":return r&&!!n.ban_users;case"view_participants":return!!(a._==="chat"||!a.pFlags.broadcast||a.pFlags.creator||a.admin_rights);case"create_giveaway":return r&&!!n.post_messages;case"manage_topics":return r?!!n[e]:!n[e]}return!0}function eo(a){return[...new Set(a)]}function Zc(a){return typeof a!="object"?a:a.peer?it(a.peer):a.user_id.toPeerId()}function aT(a){return!!(a&&!a.pFlags.deleted&&a.id.toPeerId()!==Lo)}function t1(a=0){return`index_${a}`}function da(a,e=t1(a.folder_id)){return a?.[e]}async function Dg({container:a,emoji:e,width:t,height:s,assetName:i,middleware:n,managers:r=I.managers,loop:o=!1,autoplay:l=!0}){a||(a=document.createElement("div")),a.classList.add("media-sticker-wrapper");let c;if(i)c=Ns.loadAnimationAsAsset({container:a,loop:o,autoplay:l,width:t,height:s,noCache:!0,middleware:n},i).then(d=>Ns.waitForFirstFrame(d));else if(e){const d=await r.appStickersManager.getAnimatedEmojiSticker(e);d&&(c=ai({doc:d,div:a,loop:o,play:l,width:t,height:s,emoji:e,managers:r,middleware:n}).then(u=>u.render))}return{container:a,promise:c}}const rT=Y("
"),oT=Y("
");async function s1({middleware:a,title:e,description:t,hide:s,assetName:i="UtyanSearch",width:n=140,height:r=140,isFullSize:o}){const{container:l,promise:c}=await Dg({width:n,height:r,assetName:i,middleware:a,loop:!0});if(!a()||(await c,!a()))return;l.classList.add("selector-empty-placeholder-sticker");let d;return Ft(u=>{a.onClean(u),d=(()=>{const h=rT(),p=h.firstChild;return h.classList.toggle("is-full",!!o),k(h,l,p),k(p,e),k(h,(()=>{const m=V(()=>!!t());return()=>m()&&(()=>{const g=oT();return k(g,t),g})()})(),null),Me(()=>h.classList.toggle("hide",!!s())),h})()}),d}function Wp(a,e,t,s,i,n,r,o){const l=a.canvas.dpr;if(l&&(e*=l,t*=l,s*=l,i*=l),typeof n=="number")l&&(n*=l),n={tl:n,tr:n,br:n,bl:n};else{const c={tl:0,tr:0,br:0,bl:0};for(const d in c)n[d]=n[d]?l?n[d]*l:n[d]:c[d]}a.beginPath(),a.moveTo(e+n.tl,t),a.lineTo(e+s-n.tr,t),a.quadraticCurveTo(e+s,t,e+s,t+n.tr),a.lineTo(e+s,t+i-n.br),a.quadraticCurveTo(e+s,t+i,e+s-n.br,t+i),a.lineTo(e+n.bl,t+i),a.quadraticCurveTo(e,t+i,e,t+i-n.bl),a.lineTo(e,t+n.tl),a.quadraticCurveTo(e,t,e+n.tl,t),a.closePath(),a.fill()}class lT{constructor(){this.font="30pt Helvetica",this.currTime=Date.now(),this.diffTime=0,this.spread=0,this.paused=!1,this.pausedTime=0,this.pauseInterval=850,this.lightSource=0,this.inc=.032,this.lightSpread=.55,this.animations=["slide","slide","slide","slide"],this.currentAnimationIndex=0}keepTime(){this.diffTime=Date.now()-this.currTime,this.currTime=Date.now()}cycleAnimation(){++this.currentAnimationIndex,this.currentAnimationIndex>=this.animations.length&&(this.currentAnimationIndex=0)}animate(){const e=this.animations[this.currentAnimationIndex];if(e==="glow")return this.animateGlow();if(e==="slide")return this.animateSlide();console.log("unknown animation type: "+String(e))}animateGlow(){var e=255,t=68,s=t,i=10,n=800;return()=>{var r=i*(this.diffTime/16.666666666666668);return this.paused?Date.now()-this.pausedTime>n&&(s=t,this.cycleAnimation(),this.paused=!1):(s=parseInt(""+(s+r)),s>=e&&(this.paused=!0,this.pausedTime=Date.now())),"rgb("+s+","+s+","+s+")"}}animateSlide(){var e=this.ctx.createLinearGradient(0,0,this.canvas.width,0),t=this.inc*(this.diffTime/(1e3/60)),s,i,n;if(this.paused){if(Date.now()-this.pausedTime>this.pauseInterval)return this.lightSource=-.6,this.cycleAnimation(),this.paused=!1,this.animateSlide()}else this.lightSource+=t,this.lightSource>1+this.lightSpread&&(this.paused=!0,this.pausedTime=Date.now());n=zt(this.lightSource,0,1),s=zt(this.lightSource-this.lightSpread,0,1),i=zt(this.lightSource+this.lightSpread,0,1);const r=yi.getProperty("background-color-true",this.night),o=yi.getProperty("surface-color",this.night);return e.addColorStop(s,r),e.addColorStop(n,o),e.addColorStop(i,r),e}settings(e={}){this.canvas=e.canvas??document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.font=e.font??this.font,this.lightSpread=e.lightSpread??this.lightSpread,this.inc=e.inc??this.inc,this.animations=e.animations??this.animations,this.text=e.text??this.text,this.fillStyle=e.fillStyle,this.canvas.classList.add("shimmer-canvas")}on(){const{width:e,height:t}=this.canvas;this.keepTime(),this.ctx.clearRect(0,0,e,t),this.font&&(this.ctx.font=this.font),this.ctx.fillStyle=this.animate(),this.ctx.fillRect(0,0,e,t),this.fillStyle&&(this.ctx.fillStyle=this.fillStyle,this.ctx.fillRect(0,0,e,t)),this.text&&this.ctx.fillText(this.text,50,50)}}class i1{constructor(e={}){this.onThemeChange=()=>{this.stopAnimation(),this.startAnimation()},this.onResize=()=>{const{canvas:t}=this,{width:s,height:i,dpr:n}=t;this.updateCanvasSize(),!(t.width===s&&t.height===i&&t.dpr===n)&&(this.stopAnimation(),this.startAnimation())},this.shimmer=new lT,this.shimmer.night=this.night=e.night,this.tempId=0,this.canvas=document.createElement("canvas"),this.canvas.classList.add("dialogs-placeholder-canvas"),this.ctx=this.canvas.getContext("2d"),this.generatedValues=[],this.avatarSize=e.avatarSize??54,this.avatarMarginRight=e.avatarMarginRight??10,this.marginVertical=e.marginVertical??9,this.marginLeft=e.marginLeft??17,this.gapVertical=e.gapVertical??0,this.totalHeight=e.totalHeight??this.avatarSize+this.marginVertical*2,this.lineHeight=10,this.lineBorderRadius=6,this.lineMarginVertical=e.lineMarginVertical??8,this.statusWidth=e.statusWidth??24,this.noSecondLine=e.noSecondLine}attach({container:e,rect:t,getRectFrom:s,onRemove:i,blockScrollable:n}){const{canvas:r}=this;this.detachTime=void 0,this.onRemove=i,this.getRectFrom=typeof s=="function"?s:(s||e).getBoundingClientRect.bind(s||e),(this.blockScrollable=n)&&(n.container.style.overflowY="hidden"),this.updateCanvasSize(t),this.startAnimation(),e.append(r)}detach(e){this.detachTime||(this.availableLength=e,this.detachTime=Date.now(),wt.isAvailable("animations")||this.remove())}removeWithoutUnmounting(){this.stopAnimation(),this.onRemove?.(),this.onRemove=void 0}remove(){this.stopAnimation(),this.canvas.parentElement&&(this.canvas.remove(),this.blockScrollable&&(this.blockScrollable.container.style.overflowY="",this.blockScrollable=void 0)),this.onRemove?.(),this.onRemove=void 0}updateCanvasSize(e=this.getRectFrom()){const{canvas:t}=this,s=t.dpr=window.devicePixelRatio;t.width=e.width*s,t.height=e.height*s,t.style.width=e.width+"px",t.style.height=e.height+"px"}renderDetachAnimationFrame(){const{canvas:e,ctx:t,detachTime:s,length:i,availableLength:n}=this;if(s){if(!wt.isAvailable("animations")){this.remove();return}}else return;const{width:r}=e;t.globalCompositeOperation="destination-out";const o=150,l=15,c=Date.now()-s;let d=!0;for(let u=0;u=n?l*(n-1):l*u,p=c-h;if(p<=0){d=!1;continue}const m=j_(p,0,1,o);t.beginPath(),t.rect(0,this.dialogHeight*u,r,this.dialogHeight),t.fillStyle=`rgba(0, 0, 0, ${m})`,t.fill(),m<1&&(d=!1)}t.globalCompositeOperation="source-over",d&&this.remove()}renderFrame(){this.shimmer.on(),this.renderDetachAnimationFrame()}startAnimation(){const{canvas:e,shimmer:t}=this,s=++this.tempId,i=this.createPattern();t.settings({canvas:e,fillStyle:i});const n=()=>this.tempId===s;this.renderFrame(),No(()=>n()?(wt.isAvailable("animations")&&this.renderFrame(),n()):!1),I.addEventListener("theme_changed",this.onThemeChange),st.addEventListener("resize",this.onResize)}stopAnimation(){++this.tempId,I.removeEventListener("theme_changed",this.onThemeChange),st.removeEventListener("resize",this.onResize)}createPattern(){const{canvas:e,ctx:t}=this,s=document.createElement("canvas"),i=s.getContext("2d"),n=e.dpr;s.dpr=n,s.width=e.width,s.height=e.height,i.fillStyle=yi.getProperty("surface-color",this.night),i.fillRect(0,0,s.width,s.height),i.fillStyle="#000",i.globalCompositeOperation="destination-out";const r=this.dialogHeight=this.totalHeight*n,o=this.gapVertical*n;let l=0;const c=this.length=Math.ceil(e.height/r);for(let d=0;d{e&&_e(s),a(s)},t}function un(a,e=2){if(a===0)return"0";const t=1e3,s=e<0?0:e,i=["","K","M","B","T"],n=Math.floor(Math.log(a)/Math.log(t));return parseFloat((a/Math.pow(t,n)).toFixed(s))+i[n]}async function bb(a){const e={};return await Promise.all(Object.entries(a).map(async([t,s])=>{e[t]=await s})),e}class wn{constructor(e){this.container=document.createElement("div"),this.list=nt.createChatList(),this.chatsContainer=document.createElement("div"),this.selected=new Set,this.freezed=!1,this.folderId=0,this.offsetIndex=0,this.query="",this.loadedWhat={},this.renderedPeerIds=new Set,this.peerType=["dialogs"],this.multiSelect=!0,this.rippleEnabled=!0,this.avatarSize="abitbigger",this.tempIds={},this.selfPresence="Presence.YourChat",this.needSwitchList=!1,this.design="round",this.participants=new Map,this.onInput=()=>{const i=this.input.value;if(this.query===i)return;(this.peerType.includes("contacts")||this.peerType.includes("dialogs"))&&(this.cachedContacts=void 0),this.peerType.includes("dialogs")&&(this.folderId=0,this.offsetIndex=0);for(const o in this.tempIds)++this.tempIds[o];const n=this.list;this.oldList=n,this.list=nt.createChatList(),this.promise=void 0,this.query=i,this.renderedPeerIds.clear(),this.needSwitchList=!0,this.middlewareHelperLoader.clean(),this.loadedWhat={},this.peerType.includes("dialogs")&&(this.loadedWhat.dialogs=!1,this.loadedWhat.archived=!1,this.loadedWhat.contacts=!1),this.peerType.includes("contacts")&&(this.loadedWhat.contacts=!1),this.peerType.includes("channelParticipants")&&(this.loadedWhat.channelParticipants=!1),this.peerType.includes("custom")&&(this.loadedWhat.custom=!1),n.style.position="absolute";const r=n.parentElement?.clientHeight??0;r&&(n.style.overflow="hidden",n.style.height=`${r}px`),r&&this.dialogsPlaceholder?.attach({container:this.section.content,blockScrollable:this.scrollable,getRectFrom:()=>{const o=this.scrollable.container.getBoundingClientRect();return{width:this.section.content.getBoundingClientRect().width,height:o.height}}}),this.emptySearchPlaceholderHideSetter?.(!0),this.getMoreResults()},this.checkForTriggers=()=>{this.scrollable.checkForTriggers()},this.processPlaceholderOnResults=()=>{const i=this.list.childElementCount;if(i)this.dialogsPlaceholder?.detach(i),this.emptySearchPlaceholderHideSetter?.(!0),this.emptySearchPlaceholderQuerySetter?.(this.query);else if(this.emptySearchPlaceholderMiddlewareHelper)this.dialogsPlaceholder?.detach(i),this.emptySearchPlaceholderHideSetter(!1),this.emptySearchPlaceholderQuerySetter(this.query);else{this.emptySearchPlaceholderMiddlewareHelper=Ht();const n=this.emptySearchPlaceholderMiddlewareHelper.get(),[r,o]=K(this.query),[l,c]=K(),[d,u]=K(!1);return this.emptySearchPlaceholderQuerySetter=o,this.emptySearchPlaceholderHideSetter=u,Ft(h=>{n.onClean(h),le(()=>{c(P("RequestJoin.List.SearchEmpty",[je(r())]))})}),s1({middleware:n,title:()=>P("SearchEmptyViewTitle"),description:l,hide:d}).then(h=>{n()&&this.section.content.prepend(h)})}},Nt(this,e),this.checkboxSide??(this.checkboxSide="right"),this.exceptSelf??(this.exceptSelf=!1),this.meAsSaved??(this.meAsSaved=!(this.peerType.length===1&&this.peerType[0]==="channelParticipants")),this.headerSearch??(this.headerSearch=this.multiSelect&&!this.noSearch),this.noShadow??(this.noShadow=!!this.input||!this.sectionCaption),this.excludePeerIds??(this.excludePeerIds=new Set),this.exceptSelf&&this.excludePeerIds.add(I.myId),this.middlewareHelper=e.middleware.create(),this.middlewareHelperLoader=this.middlewareHelper.get().create(),this.noPlaceholder||(this.dialogsPlaceholder=new i1(e.placeholderSizes||{avatarSize:42,avatarMarginRight:18,marginVertical:7,marginLeft:12+(this.design==="square"?48:0),totalHeight:56,gapVertical:e.placeholderElementsGap,statusWidth:0,night:this.night})),this.container.classList.add("selector","selector-"+this.design,"selector-"+this.checkboxSide);const t=(this.renderResultsFunc||this.renderResults).bind(this);if(this.renderResultsFunc=async(i,n)=>{const{needSwitchList:r}=this,o=this.middlewareHelperLoader.get();if(r&&(this.needSwitchList=!1,this.oldList.replaceWith(this.list),this.oldList=void 0),i=i.filter(l=>{if(this.excludePeerIds.has(l))return!1;const c=!this.renderedPeerIds.has(l);return c&&this.renderedPeerIds.add(l),c}),this.filterPeerTypeBy){const l=typeof this.filterPeerTypeBy=="function";if(i=await zn(i,async c=>{if(c.isPeerId()){if(l){const d=await this.managers.appPeersManager.getPeer(c);return this.filterPeerTypeBy(d)}else for(const d of this.filterPeerTypeBy)if(await this.managers.appPeersManager[d](c))return!0;return!1}return!0}),!o())return}await t(i,n),this.promise||this.processPlaceholderOnResults(),this.chatRightsActions?.some(l=>l.startsWith("send_"))&&Promise.all(i.map(async l=>{const c=l.toUserId(),{requirement:d,starsAmount:u}=await bb({requirement:this.managers.appUsersManager.getRequirementToContact(c),starsAmount:this.managers.appPeersManager.getStarsAmount(l)});return{peerId:l,userId:c,requirement:d,requiredStars:u}})).then(l=>{for(const{peerId:c,requirement:d,requiredStars:u}of l){const h=this.getElementByPeerId(c.toPeerId(!1));if(h){if(d?._==="requirementToContactPremium"){const p=Be("premium_lock","selector-premium-lock");h.append(p),h.classList.add("is-premium-locked")}else if(+u){const p=un(+u,1),m=document.createElement("span");m.classList.add("stars-badge-base","dialog-stars-badge");const g=document.createElement("span");g.append(p+""),m.append(Be("star","stars-badge-base__icon"),g),h.append(m)}}}})},!this.noSearch){this.input=document.createElement("input"),this.input.classList.add("selector-search-input"),this.input.type="text",ks(this.input,this.placeholder||"SendMessageTo",void 0,"placeholder");const i=$i(this.onInput,200,!1,!0);this.input.addEventListener("input",i)}if(this.headerSearch){const i=this.searchSection=new Oe({});i.innerContainer.classList.add("selector-search-section"),i.container.classList.add("selector-search-section-container");const n=document.createElement("div");n.classList.add("selector-search-container"),this.selectedContainer=document.createElement("div"),this.selectedContainer.classList.add("selector-search"),this.selectedContainer.append(this.input),n.append(this.selectedContainer),this.selectedScrollable=new tn(n),this.multiSelect&&J(this.selectedContainer,r=>{if(this.freezed)return;let o=r.target;if(o=ne(o,"selector-user"),!o)return;const l=o.dataset.key,c=this.chatsContainer.querySelector('[data-peer-id="'+l+'"]');c?Xs(c):this.remove(l.toPeerId())}),i.content.append(n),this.container.append(i.container)}this.chatsContainer.classList.add("chatlist-container");const s=this.section=new Oe({name:this.sectionNameLangPackKey,caption:this.sectionCaption,noShadow:this.noShadow});this.sectionNameLangPackKey&&(s.content=s.generateContentElement()),this.sectionCaption||(s.content.classList.add("selector-list-section-content"),s.container.classList.add("selector-list-section-container")),s.content.append(this.list),this.chatsContainer.append(s.container),this.scrollable?this.scrollable.append(this.chatsContainer):this.scrollable=new tn(this.chatsContainer),J(this.chatsContainer,i=>{const n=Zd(i.target,"data-peer-id");if(!n||(_e(i),this.freezed))return;let r=n.dataset.peerId;if(r=r.isPeerId()?r.toPeerId():r,r.isPeerId()&&n.classList.contains("is-premium-locked")){qe({peerId:r,onlyFirstName:!0}).then(c=>{$e({langPackKey:"OnlyPremiumCanMessage",langPackArguments:[c,xi(()=>{no(),rs.show()})]})});return}if(this.onSelect){this.onSelect(r);return}if(!this.multiSelect){this.add({key:r});return}if(!(this.selected.has(r)?this.remove(r):this.add({key:r})))return;const l=n.querySelector("input");l.checked=!l.checked}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.input&&!this.noDelimiter&&this.scrollable.prepend(Fg()),this.listenerSetter=new $t,this.container.append(this.chatsContainer),this.appendTo.append(this.container),this.channelParticipantsUpdateFilter&&this.listenerSetter.add(I)("chat_participant",i=>{const n=i.new_participant,r=i.user_id.toPeerId(!1),o=this.channelParticipantsUpdateFilter(n);o?this.participants.set(r,n):this.participants.delete(r),o?this.renderResultsFunc([r],!1):this.deletePeerId(r)}),e.middleware.onDestroy(()=>{this.destroy()}),setTimeout(()=>{const i=this.getMoreResults();e.onFirstRender&&i.then(()=>{e.onFirstRender()})},0)}static convertPeerTypes(e){const t={bots:"isBot",users:"isRegularUser",groups:"isAnyGroup",channels:"isBroadcast"};return e.map(i=>t[i])}setLimit(e,t){this.limit=e,this.limitCallback=t}destroy(){this.middlewareHelper.destroy(),this.emptySearchPlaceholderMiddlewareHelper?.destroy(),this.listenerSetter.removeAll(),this.dialogsPlaceholder?.removeWithoutUnmounting()}deletePeerId(e){const t=this.list.querySelector(`[data-peer-id="${e}"]`),s=t?.dialogElement;s?s.remove():t?.remove(),this.renderedPeerIds.delete(e),this.promise||this.processPlaceholderOnResults()}clearInput(){this.input.value="",this.onInput()}async renderSaved(){!this.exceptSelf&&!this.offsetIndex&&this.folderId===0&&this.peerType.includes("dialogs")&&(!this.query||await this.managers.appUsersManager.testSelfSearch(this.query))&&await this.renderResultsFunc([I.myId])}getTempId(e){var s;(s=this.tempIds)[e]??(s[e]=0);const t=++this.tempIds[e];return{tempId:t,middleware:()=>this.tempIds[e]===t}}async getMoreDialogs(){if(this.loadedWhat.dialogs&&this.loadedWhat.archived)return;const e=It.height/56*1.25|0,{middleware:t}=this.getTempId("dialogs"),s=this.managers.dialogsStorage.getDialogs({query:this.query,offsetIndex:this.offsetIndex,limit:e,filterId:this.folderId,skipMigrated:!0});s.catch(()=>{t()&&(this.loadedWhat[this.loadedWhat.dialogs?"archived":"dialogs"]=!0)});const i=await s;if(!t())return;let n=i.dialogs;if(n.length){const r=da(n[n.length-1])||0;if(n=n.slice(),tr(n,o=>o.peerId===I.myId),this.chatRightsActions&&(n=await zn(n,o=>this.filterByRights(o.peerId)),!t())||(await this.renderSaved(),!t()))return;this.offsetIndex=r}if(await this.renderResultsFunc(n.map(r=>r.peerId)),i.isEnd)if(this.loadedWhat.dialogs){if(this.loadedWhat.archived=!0,!this.loadedWhat.contacts)return this.getMoreContacts()}else return await this.renderSaved(),t()?(this.loadedWhat.dialogs=!0,this.offsetIndex=0,this.folderId=1,this.getMoreDialogs()):void 0;else if(this.renderedPeerIds.sizeCr(t,s)))return!0}async getMoreContacts(){if(this.loadedWhat.contacts)return;const e=this.peerType.includes("contacts");if(!this.cachedContacts){const{middleware:i}=this.getTempId("contacts"),n=Promise.all([e?this.managers.appUsersManager.getContactsPeerIds(this.query):[],this.query?this.managers.appUsersManager.searchContacts(this.query):void 0]);n.catch(()=>{i()&&(this.loadedWhat.contacts=!0)});const[r,o]=await n;if(!i())return;if(o){let l=e?o.my_results.concat(o.results):o.my_results;if(this.chatRightsActions&&(l=await zn(l,c=>this.filterByRights(c)),!i()))return;this.peerType.includes("dialogs")||(l=l.filter(c=>c.isUser())),this.cachedContacts=eo(r.concat(l))}else this.cachedContacts=r.slice();Vs(this.cachedContacts,I.myId)}const t=It.height/56*1.25|0,s=this.cachedContacts.splice(0,t);await this.renderResultsFunc(s),this.cachedContacts.length||(this.loadedWhat.contacts=!0)}async getMoreChannelParticipants(){if(this.loadedWhat.channelParticipants)return;const e=50;let t;this.channelParticipantsFilter?t=typeof this.channelParticipantsFilter=="function"?this.channelParticipantsFilter(this.query):this.channelParticipantsFilter:t={_:"channelParticipantsSearch",q:this.query};const{middleware:s}=this.getTempId("channelParticipants"),i=this.managers.appProfileManager.getParticipants({id:this.peerId.toChatId(),filter:t,limit:e,offset:this.list.childElementCount});i.catch(()=>{s()&&(this.loadedWhat.channelParticipants=!0)});const n=await i;if(!s())return;const{participants:r}=n,o=r.map(c=>{const d=Zc(c);return this.participants.set(d,c),d});this.exceptSelf&&Vs(o,I.myId),await this.renderResultsFunc(o);const l=n.count??r.length;(this.list.childElementCount>=l||r.length{e()&&(this.loadedWhat.custom=!0)});const s=await t;if(!e())return;const{result:i,isEnd:n}=s;this.exceptSelf&&Vs(i,I.myId),await this.renderResultsFunc(i),n&&(this.loadedWhat.custom=!0)}_getMoreResults(){if(this.peerType.includes("dialogs")&&!this.loadedWhat.archived)return this.getMoreSomething("dialogs");if((this.peerType.includes("contacts")||this.peerType.includes("dialogs"))&&!this.loadedWhat.contacts)return this.getMoreSomething("contacts");if(this.peerType.includes("channelParticipants")&&!this.loadedWhat.channelParticipants)return this.getMoreSomething("channelParticipants");if(this.peerType.includes("custom")&&!this.loadedWhat.custom)return this.getMoreSomething("custom")}getMoreResults(){if(this.promise)return this.promise;const e=this._getMoreResults();if(!e)return this.processPlaceholderOnResults(),Promise.resolve();const t=this.middlewareHelperLoader.get(),s=this.promise=e.catch(i=>{console.error("get more result error",i)}).then(()=>{if(this.promise===s&&(this.promise=void 0),t()){const n=Object.values(this.loadedWhat).every(o=>o),r=this.list.childElementCount;if(n&&!r)return this.dialogsPlaceholder?.detach(r),this.processPlaceholderOnResults();(r||n)&&(this.dialogsPlaceholder?.detach(r),this.emptySearchPlaceholderHideSetter?.(!0))}return this.checkForTriggers(),this.promise});return s}getMoreSomething(e){return{dialogs:this.getMoreDialogs,contacts:this.getMoreContacts,channelParticipants:this.getMoreChannelParticipants,custom:this._getMoreCustom}[e].call(this)}async renderResults(e,t){!this.peerType.includes("dialogs")&&this.loadedWhat.contacts&&(e=await zn(e,i=>this.managers.appUsersManager.isNonContactUser(i)));const s=e.map(async i=>{const n=nt.addDialogNew({peerId:this.getPeerIdFromKey?.(i)??i,container:this.list,rippleEnabled:this.rippleEnabled,avatarSize:this.avatarSize,meAsSaved:this.meAsSaved,append:t,wrapOptions:{middleware:this.middlewareHelperLoader.get()},withStories:this.withStories});this.getPeerIdFromKey&&(n.container.dataset.peerId=i),n.container.dialogElement=n;const{dom:r}=n;if(this.multiSelect){const l=this.selected.has(i);r.containerEl.prepend(this.checkbox(l))}let o;this.getSubtitleForElement&&(o=await this.getSubtitleForElement(i)),o||(o=await this.wrapSubtitle(i)),r.lastMessageSpan.append(o),this.processElementAfter&&await this.processElementAfter(i,n)});return Promise.all(s)}async wrapSubtitle(e){let t;return e.isAnyChat()?t=await ja(e.toChatId()):e===I.myId&&this.meAsSaved?t=P(this.selfPresence):t=qo(await this.managers.appUsersManager.getUser(e.toUserId())),t}checkbox(e){const t=new _t({round:this.design==="round"});return e&&(t.input.checked=e),t.label}static renderEntity({key:e,middleware:t,title:s,avatarSize:i,fallbackIcon:n,meAsSaved:r=!0}){const o=document.createElement("div");o.classList.add("selector-user"),o.middlewareHelper=t.create();const l=document.createElement("div");l.classList.add("selector-user-avatar-container");const c=document.createElement("div");c.classList.add("selector-user-avatar-close"),c.append(Be("close"));const d=vs({middleware:o.middlewareHelper.get(),size:i,isDialog:r});d.node.classList.add("selector-user-avatar"),l.append(d.node,c),o.dataset.key=""+e;const u=[];if(e.isPeerId()){if(s===void 0){const h=new Xt;u.push(h.update({peerId:e.toPeerId(),dialog:r})),s=h.element}d.render({peerId:e}),u.push(d.readyThumbPromise)}else n&&d.setIcon(n);if(s){const h=document.createElement("div");h.classList.add("selector-user-title"),typeof s=="string"?h.innerHTML=s:(St(h,s),h.append(s)),o.append(h)}return o.insertAdjacentElement("afterbegin",l),{element:o,avatar:d,promises:u}}add({key:e,title:t,scroll:s=!0,fireOnChange:i=!0,fallbackIcon:n}){if(this.limit&&this.selected.size>=this.limit)return this.limitCallback?.(),!1;if(this.selected.add(e),!this.multiSelect||!this.input)return i&&this.onChange?.(this.selected.size),!!this.multiSelect;this.query.trim()&&this.clearInput();const r=wn.renderEntity({key:e,middleware:this.middlewareHelper.get(),title:t,avatarSize:32,fallbackIcon:n}),{element:o}=r;return s&&o.classList.add("scale-in"),this.selectedContainer.insertBefore(o,this.input),i&&this.onChange?.(this.selected.size),s&&this.selectedScrollable.scrollIntoViewNew({element:this.input,position:"center"}),r}remove(e,t=!0){if(!this.multiSelect)return!1;if(!this.input)return this.selected.delete(e),t&&this.onChange?.(this.selected.size),!0;const s=this.selectedContainer.querySelector(`[data-key="${e}"]`);s.classList.remove("scale-in"),s.offsetWidth,s.classList.add("scale-out");const i=()=>{this.selected.delete(e),s.remove(),s.middlewareHelper.destroy(),t&&this.onChange?.(this.selected.size)};return wt.isAvailable("animations")?s.addEventListener("animationend",i,{once:!0}):i(),!0}getSelected(){return[...this.selected]}getElementByPeerId(e){return this.chatsContainer.querySelector(`[data-peer-id="${e}"]`)}toggleElementCheckboxByPeerId(e,t){const s=this.getElementByPeerId(e);if(!s)return;const i=s.querySelector("input");i.checked=t===void 0?!i.checked:t}addBatch(e){e.length&&(e.forEach(t=>{this.add({key:t,scroll:!1,fireOnChange:!1}),this.toggleElementCheckboxByPeerId(t,!0)}),this.onChange?.(this.selected.size))}removeBatch(e){e.length&&(e.forEach(t=>{this.remove(t,!1),this.toggleElementCheckboxByPeerId(t,!1)}),this.onChange?.(this.selected.size))}addInitial(e){e?.length&&(this.addBatch(e),this.input&&window.requestAnimationFrame(()=>{this.selectedScrollable.scrollIntoViewNew({element:this.input,position:"center",forceDirection:hm.Static})}))}}async function cT({topic:a,middleware:e}){const t=ii(32,32),s=new Fe({title:je(a.title),clickable:!0});s.container.dataset.peerId=""+a.id,s.container.classList.add("selector-forum-topic");const i=s.createMedia("abitbigger"),n=vs({peerId:a.peerId,threadId:a.id,middleware:e,size:t.width,wrapOptions:{middleware:e,textColor:"primary-text-color",customEmojiSize:t}});return await n.readyThumbPromise,i.append(n.node),s.container}class Rs extends ue{constructor(e){super("popup-forward",{closable:!0,overlayClosable:!0,onBackClick:()=>{this.forumSelector.input.replaceWith(this.selector.input),this.transition(this.selector.container),this.forumNavigationItem&&(Pt.removeItem(this.forumNavigationItem),this.forumNavigationItem=void 0)},body:!0,title:e.titleLangKey??!0});const t=!!e.onMultiSelect;let s;const i=async(r,o)=>{if(s)return;if(e.useTopics&&!Array.isArray(r)&&!o&&await this.managers.appPeersManager.isForum(r)){s=!0,await this.createForumSelector({tabsContainer:n,peerId:r,placeholder:e.placeholder,onSelect:i}),s=void 0;return}const l=e.onSelect||e.onMultiSelect;if(l){const c=l(r,o);if(c instanceof Promise)try{await c}catch{return}}this.selector=null,this.hide()},n=document.createElement("div");n.classList.add("tabs-container"),this.body.append(n),this.selector=new wn({...e,middleware:this.middlewareHelper.get(),appendTo:n,onChange:t?r=>{this.btnConfirm.classList.toggle("is-visible",!!r)}:void 0,onSelect:t?void 0:i,onFirstRender:()=>{this.show(),this.selector.checkForTriggers(),pt||this.selector.input.focus()},multiSelect:t,rippleEnabled:!1,avatarSize:"abitbigger",managers:this.managers,night:this.night,headerSearch:t}),this.selector.container.classList.add("tabs-tab"),this.scrollable=this.selector.scrollable,t?(this.header.after(this.selector.searchSection.container),this.btnConfirm=this.btnConfirmOnEnter=Cn({icon:"check"}),this.body.append(this.btnConfirm),J(this.btnConfirm,()=>{i(this.selector.getSelected())},{listenerSetter:this.listenerSetter}),e.initial&&this.selector.addInitial(e.initial),this.selector.container.classList.add("active")):(e.headerLangPackKey?this.title.append(P(e.headerLangPackKey)):this.title.append(this.selector.input),this.attachScrollableListeners(),this.transition=Sr({content:n,type:"navigation",transitionTime:150,animateFirst:!1,onTransitionEnd:r=>{r?this.selector.clearInput():Array.from(n.children).forEach(o=>{o!==this.selector.container&&(o.middlewareHelper.destroy(),o.remove())})}}),this.transition(this.selector.container))}async createForumSelector({tabsContainer:e,peerId:t,placeholder:s,onSelect:i}){const n=this.middlewareHelper.get().create(),r=n.get(),o=Mt();let l,c;const d=this.forumSelector=new wn({middleware:r,appendTo:e,managers:this.managers,rippleEnabled:!1,night:this.night,multiSelect:!1,headerSearch:!1,placeholder:s,peerType:["custom"],getMoreCustom:async(h,p)=>{c!==h&&(l=void 0,c=h);const m=await this.managers.dialogsStorage.getDialogs({query:h,filterId:t,limit:20,skipMigrated:!0,offsetIndex:l});if(p())return l=da(m.dialogs[m.dialogs.length-1]),{result:m.dialogs.map(g=>g.id),isEnd:m.isEnd}},renderResultsFunc:async(h,p)=>{const m=h.map(async f=>{const v=await this.managers.dialogsStorage.getForumTopic(t,f);return cT({topic:v,middleware:r})}),g=await Promise.all(m);d.list[p?"prepend":"append"](...g)},onSelect:h=>{i(t,h)},placeholderSizes:{avatarSize:32,avatarMarginRight:23,marginVertical:8,marginLeft:17,lineMarginVertical:11,gapVertical:0,totalHeight:48,statusWidth:0,noSecondLine:!0,night:this.night},onFirstRender:()=>{o.resolve()}});d.container.classList.add("tabs-tab"),d.scrollable.attachBorderListeners(),d.container.middlewareHelper=n,await o,this.btnCloseAnimatedIcon.classList.add("state-back"),this.selector.input.replaceWith(d.input),this.transition(d.container);const u=this.forumNavigationItem={type:"popup",onPop:()=>{Xs(this.btnClose)}};Pt.pushItem(this.forumNavigationItem),this.addEventListener("close",()=>{Pt.removeItem(u)})}destroy(){super.destroy(),this.selector?.destroy(),this.selector=void 0}static async createPicker2({peerType:e,filterPeerTypeBy:t,chatRightsActions:s,multiSelect:i,limit:n,limitCallback:r,titleLangKey:o,placeholder:l,exceptSelf:c}){return new Promise((d,u)=>{let h=!1;const p=ue.createPopup(Rs,{peerType:e,placeholder:l||"SelectChat",onSelect:i?void 0:m=>{d(m),h=!0},onMultiSelect:i?m=>{d(m),h=!0}:void 0,filterPeerTypeBy:t,chatRightsActions:s,titleLangKey:o,exceptSelf:c});n&&p.selector.setLimit(n,r),p.addEventListener("close",()=>{h||u()},{once:!0})})}static async createPicker(e=["users","bots","groups","channels"],t){Array.isArray(e)||(e=[]);const s=wn.convertPeerTypes(e),i=["dialogs"];if(e.includes("users")&&i.push("contacts"),!s.length)throw void 0;return this.createPicker2({peerType:i,filterPeerTypeBy:s,chatRightsActions:t})}static createSharingPicker(e){return e.chatRightsActions??(e.chatRightsActions=["send_plain"]),e.placeholder??(e.placeholder="ShareModal.Search.Placeholder"),e.selfPresence??(e.selfPresence="ChatYourSelf"),ue.createPopup(Rs,{...e,peerType:["dialogs","contacts"]})}static createSharingPicker2(e){return new Promise((t,s)=>{let i=!1;Rs.createSharingPicker({...e||{},onSelect:r=>{i=!0,t(r)}}).addEventListener("close",()=>{i||s()})})}static createReplyPicker(){return this.createSharingPicker2({placeholder:"ReplyToDialog",selfPresence:"SavedMessagesInfoQuote"})}static createContactPicker(){return new Promise((e,t)=>{let s=!1;ue.createPopup(Rs,{peerType:["contacts"],placeholder:"Search",onSelect:n=>{s=!0,e(n)}}).addEventListener("close",()=>{s||t()})})}}Di.PopupPickUser=Rs;function hh(a,e,t){const s=e?._==="channelParticipantCreator",i=e?.promoted_by;return!!a.pFlags.creator||!s&&(!i||i===t)}const lg=class lg extends Bs{async init(){this.container.classList.add("edit-peer-container","user-permissions-container"),this.setTitle(this.isAdmin?"EditAdmin":"UserRestrictions");let e;const t=await this.managers.appChatsManager.getChat(this.chatId),s=await this.managers.appChatsManager.isChannel(this.chatId),i=await this.managers.appPeersManager.isAnyGroup(this.chatId.toPeerId(!0)),n=this.participant?._==="channelParticipantCreator",r=hh(t,this.participant,I.myId);let o;this.isAdmin?o=["channelParticipantAdmin","channelParticipantCreator"]:o=["channelParticipantBanned"];{const c=new Oe({name:this.isAdmin?"EditAdminWhatCanDo":"UserRestrictionsCanDo",caption:this.isAdmin?!0:void 0}),d=document.createElement("div");d.classList.add("chatlist-container"),c.content.insertBefore(d,c.title);const u=nt.createChatList({new:!0});d.append(u);const{dom:h}=nt.addDialogNew({peerId:this.userId.toPeerId(!1),container:u,rippleEnabled:!0,avatarSize:"abitbigger",meAsSaved:!1,wrapOptions:{middleware:this.middlewareHelper.get()}});h.lastMessageSpan.append(qo(await this.managers.appUsersManager.getUser(this.userId)));const p={chatId:this.chatId,listenerSetter:this.listenerSetter,appendTo:c.content,participant:o.includes(this.participant._)?this.participant:void 0,chat:t,canEdit:r},m=o.includes(this.participant._)?(this.isAdmin?this.participant.admin_rights:this.participant.banned_rights).pFlags:void 0;if(this.isAdmin){const g=new e8(p),f=g.fields.find(y=>y.flags[0]==="add_admins"),v=()=>{c.caption.replaceChildren(P(r?f.checkboxField.checked?"Channel.Admin.AdminAccess":"Channel.Admin.AdminRestricted":"EditAdminCantEdit"))};v(),this.listenerSetter.add(f.checkboxField.input)("change",v),e=()=>{if(!hh)return;const y=g.takeOut();m&&Pn(m,y.pFlags)||this.managers.appChatsManager.editAdmin(this.chatId,this.participant,y,l?.value)}}else{const g=new fw(p,this.managers);e=()=>{const f=g.takeOut();m&&Pn(m,f.pFlags)||this.managers.appChatsManager.editBanned(this.chatId,this.participant,f)}}this.eventListener.addEventListener("destroy",e,{once:!0}),this.scrollable.append(c.container)}let l;if(this.isAdmin&&i){const c=this.participant._==="channelParticipantCreator"?"Chat.OwnerBadge":"ChatAdmin",d=new Oe({name:"EditAdminRank",caption:"EditAdminRankInfo",captionArgs:[P(c)]}),u=document.createElement("div");u.classList.add("input-wrapper");const h=l=new Yt({name:"rank",placeholder:c,maxLength:16,canBeEdited:r}),p=this.participant.rank;p&&h.setOriginalValue(p,!0),u.append(h.container),d.content.append(u),this.scrollable.append(d.container)}if(this.isAdmin){const c=new Oe({});if(!n&&hh){const d=ot("btn-primary btn-transparent danger",{icon:"deleteuser",text:"Channel.Admin.Dismiss"});J(d,async()=>{const u=os([d],!0);try{await this.managers.appChatsManager.editAdmin(this.chatId,this.participant,{_:"chatAdminRights",pFlags:{}},"")}catch{u();return}this.eventListener.removeEventListener("destroy",e),this.close()},{listenerSetter:this.listenerSetter}),c.content.append(d)}c.content.childElementCount&&this.scrollable.append(c.container)}else{const c=new Oe({});if(this.participant._==="channelParticipantBanned"){const u=ot("btn-primary btn-transparent danger",{icon:"delete",text:"GroupPermission.Delete"});J(u,()=>{const h=os([u],!0);this.managers.appChatsManager.clearChannelParticipantBannedRights(this.chatId,this.participant).then(()=>{this.eventListener.removeEventListener("destroy",e),this.close()},()=>{h()})},{listenerSetter:this.listenerSetter}),c.content.append(u)}const d=ot("btn-primary btn-transparent danger",{icon:"deleteuser",text:"UserRestrictionsBlock"});J(d,async()=>{const u=os([d],!0);try{const h=this.userId.toPeerId();await Rt({peerId:this.chatId.toPeerId(!0),descriptionLangKey:"Permissions.RemoveFromGroup",descriptionLangArgs:[await qe({peerId:h})],titleLangKey:"ChannelBlockUser",button:{langKey:"Remove",isDanger:!0}}),s?await this.managers.appChatsManager.kickFromChannel(this.chatId,this.participant):await this.managers.appChatsManager.kickFromChat(this.chatId,this.participant)}catch{u();return}this.eventListener.removeEventListener("destroy",e),this.close()},{listenerSetter:this.listenerSetter}),c.content.append(d),this.scrollable.append(c.container)}}};lg.openTab=(e,t,s,i)=>{const n=e.createTab(lg);n.participant=s,n.chatId=t,n.userId=Zc(s).toUserId(),n.isAdmin=i,n.open()};let Qh=lg;class $g{constructor(e){Nt(this,e)}createField(e,t){if(e.nestedTo&&!t)return;const s=t&&!this.round,i=Be("down","accordion-icon");let n;this.round&&!s&&e.nested&&(n=document.createElement("div"),n.classList.add("accordion-right-button"));const r=e.row=new Fe({titleLangKey:s?void 0:e.text,titleLangArgs:s?void 0:e.textArgs,checkboxField:e.checkboxField=new _t({text:s?e.text:void 0,textArgs:s?e.textArgs:void 0,checked:e.nested?!1:e.checked,toggle:this.round?void 0:!t,listenerSetter:this.listenerSetter,restriction:this.asRestrictions&&!t,name:e.name,round:this.round}),listenerSetter:this.listenerSetter,subtitleLangKey:e.description,clickable:e.nested?d=>{if(this.round?!Mi(d.target,n)&&d.target!==n:Mi(d.target,r.checkboxField.label)){if(r.checkboxField.input.disabled){const u=r.checkboxField.checked;e.nested.forEach(h=>{h.checkboxField.checked=!u})}else r.checkboxField.checked=!r.checkboxField.checked;return}_e(d),r.container.classList.toggle("accordion-toggler-expanded"),l.classList.toggle("is-expanded"),this.onExpand?.(e)}:void 0,rightContent:n});if(r.container.classList.add("accordion-row"),e.restrictionText){if(!e.nestedTo){const d=e.checkboxField.label.lastElementChild.firstElementChild;d.classList.add("with-lock"),d.append(Be("premium_lock","checkbox-caption-lock"))}e.checkboxField.input.disabled=!0,e.nested||J(e.row.container,d=>{Wi(Ne.format(e.restrictionText,!0))},{listenerSetter:this.listenerSetter})}const o=[r.container];let l,c;if(e.nested){const d=l=document.createElement("div");d.classList.add("accordion"),d.style.setProperty("--max-height",e.nested.length*48+"px");const u=e;e.nested.forEach(h=>{h.nestedTo??(h.nestedTo=u),d.append(...this.createField(h,!0).nodes)}),o.push(d),c=e.nestedCounter=document.createElement("b"),c.classList.add("accordion-counter"),this.setNestedCounter(e),r.container.classList.add("accordion-toggler"),this.round?(n.append(Be(this.rightButtonIcon)," ",c," ",i),r.container.classList.add("accordion-toggler-round")):(r.title.append(" ",c," ",i),r.titleRow.classList.add("with-delimiter")),r.checkboxField.input.disabled=!0,r.checkboxField.setValueSilently(this.getNestedCheckedLength(e)===e.nested.length),e.toggleWith??(e.toggleWith={checked:e.nested,unchecked:e.nested})}if(e.toggleWith||e.nestedTo){const d=e.toggleWith?h=>{const{toggleWith:p,nested:m}=h,g=h.checkboxField.checked,f=g?p.checked:p.unchecked;if(!f)return;this.fields.filter(y=>f.includes(y)).forEach(y=>{y.restrictionText||(y.checkboxField.setValueSilently(g),y.nestedTo&&!m&&this.setNestedCounter(y.nestedTo),y.toggleWith&&d(y))}),h.nested&&this.setNestedCounter(h)}:void 0,u=e.nestedTo?()=>{const h=this.getNestedCheckedLength(e.nestedTo);e.nestedTo.checkboxField.setValueSilently(h===e.nestedTo.nested.length),this.setNestedCounter(e.nestedTo,h)}:void 0;this.listenerSetter.add(e.checkboxField.input)("change",()=>{d?.(e),u?.(),this.onAnyChange?.()})}else this.onAnyChange&&!e.nested&&this.listenerSetter.add(e.checkboxField.input)("change",()=>{this.onAnyChange()});return this.onRowCreation?.(r,e),{row:r,nodes:o}}getNestedCheckedLength(e){return e.nested.reduce((t,s)=>t+ +s.checkboxField.checked,0)}setNestedCounter(e,t=this.getNestedCheckedLength(e)){e.nestedCounter.textContent=this.round?""+e.nested.length:`${t}/${e.nested.length}`}}class wm{constructor(e){this.onIndex=i=>{this.onValue?.(this.steps[i][1]),this.optionsElements.forEach(({container:n},r)=>{n.classList.toggle("active",i>=r),n.classList.toggle("is-chosen",i===r)})},Nt(this,e),this.generateSteps??(this.generateSteps=i=>i.map(this.generateStep));const t=this.container=document.createElement("div");t.classList.add("range-setting-selector","range-steps-selector"),this.middleware.onClean(()=>{this.range.removeListeners()});const s=this.range=new Xl({step:1});s.setListeners(),s.setHandlers({onScrub:this.onIndex}),t.append(s.container)}createOption(e,t,s){const i=document.createElement("div");i.classList.add("range-setting-selector-option");const n=document.createElement("div");return n.classList.add("range-setting-selector-option-text"),n.replaceChildren(e),i.append(n),i.style.left=`${t/s*100}%`,t===0&&!this.noFirstLast?i.classList.add("is-first"):t===s&&(i.style.left="",i.style.right="0",!this.noFirstLast&&i.classList.add("is-last")),{container:i,text:n}}setSteps(e,t){this.optionsElements&&this.optionsElements.forEach(({container:i})=>i.remove());const s=e.length-1;this.range.setMinMax(0,s),this.steps=e,this.optionsElements=e.map(([i],n)=>{const r=this.createOption(i,n,s);return this.range.container.append(r.container),r}),t!==void 0&&this.setIndex(t)}setIndex(e){this.range.setProgress(e),this.onIndex(e)}removeListeners(){this.range.removeListeners()}get value(){return this.steps[this.range.value][1]}}function n1({el:a,onOpen:e,options:t,onClose:s}){(t?.listenerSetter?t.listenerSetter.add(a):a.addEventListener.bind(a))(Eo,n=>{if(!a.classList.contains("btn-menu-toggle")||Hy(n))return!1;if(_e(n),a.classList.contains("menu-open"))Li.close();else{const r=e?.(n);en(r,()=>{const l=a.querySelector(".btn-menu");l&&Li.openBtnMenu(l,s)})}})}function a1(a){return zn(a,e=>e?.verify?e.verify()??!1:!0)}function ki({buttonOptions:a,listenerSetter:e,container:t,direction:s,buttons:i,onOpenBefore:n,onOpen:r,onClose:o,onCloseAfter:l,noIcon:c,icon:d="more"}){a&&(a.asDiv=!0);const u=t??yt(c?void 0:d,a);u.classList.add("btn-menu-toggle");const h=new $t,p=()=>{clearTimeout(g),g=void 0};let m,g,f=0;return n1({el:u,onOpen:async v=>{const y=++f;if(await n?.(v),y!==f)return;if(g){p();return}const w=await a1(i);if(y!==f||!w.length)return;const b=m=await Kh({buttons:w,listenerSetter:h});y===f&&(b.classList.add(s),s==="bottom-center"&&b.style.setProperty("--parent-half-width",t.clientWidth/2+"px"),await r?.(v,b),y===f&&(u.append(b),await hi(),y!==f&&b.remove()))},options:{listenerSetter:e},onClose:()=>{++f,p(),o?.(),g=window.setTimeout(()=>{l?.(),g=void 0,h.removeAll(),i.forEach(v=>{try{v.dispose?.()}catch{}v.element=void 0}),m.remove()},300)}}),u}function fr(a,e,t){const s=[];a=Yc(a);const i=jt(a.text,{entities:a.entities,middleware:e,loadPromises:s});return t?i:Promise.all(s).then(()=>i)}class wS extends Zt{constructor(){super(...arguments),this.renderResults=async e=>{await this.managers.appUsersManager.getContacts();const t=e.map(async s=>{const i=nt.addDialogNew({peerId:s,container:this.selector.list,rippleEnabled:!0,avatarSize:"abitbigger",wrapOptions:{middleware:this.middlewareHelper.get()}});i.container.dialogElement=i;const{dom:n}=i,r=this.selector.selected.has(s);n.containerEl.append(this.selector.checkbox(r));const o=[],l=[...this.dialogsByFilters.entries()].map(async([d,u])=>{if(u.has(s)){const h=document.createElement("span");h.append(await fr(d.title,this.middlewareHelper.get())),o.push(h)}});await Promise.all(l),Yi(o,!1).forEach(d=>{n.lastMessageSpan.append(d)})});await Promise.all(t)},this.onSelectChange=e=>{this.type==="included"&&(this.confirmBtn.style.display=e?"":"none")}}init(e,t,s){this.originalFilter=e,this.filter=kn(this.originalFilter),this.type=t,this.editFolderTab=s,this.content.remove(),this.container.classList.add("included-chatlist-container"),this.confirmBtn=yt("check btn-confirm blue",{noRipple:!0}),this.confirmBtn.style.display="none",this.header.append(this.confirmBtn),J(this.confirmBtn,async()=>{const n=this.selector.getSelected(),r=this.filter.pFlags;if(this.type==="included"&&r)for(const p in r)p.indexOf("exclude_")!==0&&delete r[p];else if(r)for(const p in r)p.indexOf("exclude_")===0&&delete r[p];const o=[];for(const p of n)p.isPeerId()?o.push(p.toPeerId()):this.filter.pFlags[p]=!0;let l;this.type==="included"?l=p=>o.includes(p):l=p=>!o.includes(p),hn(this.filter.pinnedPeerIds,(p,m)=>{l(p)||(this.filter.pinnedPeerIds.splice(m,1),this.filter.pinned_peers.splice(m,1))});const c=this.type==="included"?"excludePeerIds":"includePeerIds",d=this.type==="included"?"exclude_peers":"include_peers",u=this.filter[c],h=this.filter[d];u&&hn(u,(p,m)=>{o.includes(p)&&(u.splice(m,1),h.splice(m,1))}),this.filter[this.type==="included"?"includePeerIds":"excludePeerIds"]=o,this.filter[this.type==="included"?"include_peers":"exclude_peers"]=await Promise.all(o.map(p=>this.managers.appPeersManager.getInputPeerById(p))),this.editFolderTab.setFilter(this.filter,!1),this.close()},{listenerSetter:this.listenerSetter});const i=n=>{this.limit=I.premium?n.dialog_filters_chats_limit_premium:n.dialog_filters_chats_limit_default};return this.listenerSetter.add(I)("app_config",i),this.dialogsByFilters=new Map,Promise.all([this.managers.filtersStorage.getDialogFilters().then(async n=>{await Promise.all(n.filter(r=>!oa.has(r.id)).map(async r=>{const l=(await this.managers.dialogsStorage.getFolderDialogs(r.id)).map(c=>c.peerId);this.dialogsByFilters.set(r,new Set(l))}))}),this.managers.apiManager.getAppConfig().then(n=>{i(n)})])}onOpen(){this.confirmBtn.style.display=this.type==="excluded"?"":"none",this.setTitle(this.type==="included"?"FilterAlwaysShow":"FilterNeverShow");const e=this.filter,t=new Oe({noDelimiter:!0,name:"FilterChatTypes"});t.container.classList.add("folder-categories");let s;this.type==="excluded"?s={exclude_muted:{ico:"mute",text:"ChatList.Filter.MutedChats"},exclude_archived:{ico:"archive",text:"ChatList.Filter.Archive"},exclude_read:{ico:"readchats",text:"ChatList.Filter.ReadChats"}}:s={contacts:{ico:"newprivate",text:"ChatList.Filter.Contacts"},non_contacts:{ico:"noncontacts",text:"ChatList.Filter.NonContacts"},groups:{ico:"group",text:"ChatList.Filter.Groups"},broadcasts:{ico:"newchannel",text:"ChatList.Filter.Channels"},bots:{ico:"bots",text:"ChatList.Filter.Bots"}},this.selector=new wn({middleware:this.middlewareHelper.get(),appendTo:this.container,onChange:this.onSelectChange,peerType:["dialogs"],renderResultsFunc:this.renderResults,placeholder:"Search",sectionNameLangPackKey:"FilterChats",managers:this.managers});const i=document.createDocumentFragment();for(const c in s){const d=ot("btn-primary btn-transparent folder-category-button",{icon:s[c].ico,text:s[c].text});d.dataset.peerId=c,d.append(this.selector.checkbox()),i.append(d)}t.content.append(i);const n=(this.type==="included"?e.includePeerIds:e.excludePeerIds).slice();this.selector.selected=new Set(n);let r=!1;const o=this.selector.add.bind(this.selector);this.selector.add=({key:c,title:d,scroll:u})=>this.selector.selected.size>=this.limit&&r&&!s[c]?(Ja("folderPeers"),!1):o({key:c,title:s[c]?P(s[c].text):void 0,scroll:u,fallbackIcon:s[c]?.ico}),this.selector.scrollable.append(t.container,this.selector.scrollable.container.lastElementChild),this.selector.addInitial(n),r=!0;const l=e.pFlags;if(l)for(const c in l)s.hasOwnProperty(c)&&l[c]&&Xs(t.content.querySelector(`[data-peer-id="${c}"]`))}onCloseAfterTimeout(){return this.selector&&(this.selector.container.remove(),this.selector=null),super.onCloseAfterTimeout()}}function to(a){if(!wt.isAvailable("animations"))return;const e=[{transform:"translateX(0)"},{transform:"translateX(.25rem)"},{transform:"translateX(-.25rem)"},{transform:"translateX(0)"}];a.animate([...e,...e,...e],{duration:300,iterations:1,easing:"ease-in-out"})}class Uu{constructor({buttons:e,button:t,onButtonClick:s,listenerSetter:i,url:n,noRightButton:r,onClick:o}){this.copyLink=(h=this.url)=>{si(h),$e({langPackKey:"LinkCopied"})},this.shareLink=(h=this.url)=>{Rs.createSharingPicker({onSelect:async p=>{const{default:m,PAYMENT_REJECTED:g}=await zo(()=>Promise.resolve().then(()=>o3),void 0,import.meta.url),f=await m.prepareStarsForPayment({messageCount:1,peerId:p});if(f===g)throw new Error;I.managers.appMessagesManager.sendText({peerId:p,text:h,confirmedPaymentResult:f}),Ce.setInnerPeer({peerId:p})}})},this.onButtonClick=s;const l=this.container=document.createElement("div");l.classList.add("invite-link-container");const c=document.createElement("div");c.classList.add("invite-link","rp-overflow");const d=this.textElement=document.createElement("div");d.classList.add("invite-link-text");let u;e?u=ki({buttons:e,direction:"bottom-left",buttonOptions:{noRipple:!0},listenerSetter:i}):r||(u=yt("copy",{noRipple:!0}),J(u,()=>this.copyLink(),{listenerSetter:i})),u&&u.classList.add("invite-link-menu"),!t&&t!==!1&&(t=ot("",{text:"ShareLink"}),this.buttonText=t.lastElementChild,J(t,()=>{this.onButtonClick?this.onButtonClick():this.shareLink()},{listenerSetter:i})),t&&(this.button=t,t.className="btn-primary btn-color-primary invite-link-button"),n&&this.setUrl(n),Ei(c),c.append(...[d,u].filter(Boolean)),l.append(c,t||""),J(c,o||(()=>this.copyLink()),{listenerSetter:i})}setUrl(e){let t=e;t.includes("//")&&(t=e.split("//").slice(1).join("//")),this.textElement.replaceChildren(Oo(t)),this.url=e}}class wb extends Bs{constructor(){super(...arguments),this.isConfirmationNeededOnClose=()=>{if(!this.confirmBtn.classList.contains("hide"))return Rt({descriptionLangKey:"BotWebViewChangesMayNotBeSaved",button:{isDanger:!0,langKey:"BotWebViewCloseAnyway"}})},this.canSelectPeer=e=>!e||!this.chatlistInvite||e._==="user"?!1:!!ji(e).length||Cr(e,"invite_links"),this.onSelectChange=e=>{if(this.updateDescription(e),!this.chatlistInvite)return;const t=[...this.selector.selected],s=this.chatlistInvite.peers.map(n=>it(n)),i=s.length===t.length&&s.every(n=>t.includes(n));this.confirmBtn.classList.toggle("hide",i)},this.renderResults=async e=>{const t=e.map(async s=>{const i=await this.managers.appPeersManager.getPeer(s),n=nt.addDialogNew({peerId:s,container:this.selector.list,rippleEnabled:!0,avatarSize:"abitbigger",meAsSaved:!1,wrapOptions:{middleware:this.middlewareHelper.get()}}),{dom:r}=n;this.elementMap.set(s,n);const o=this.selector.selected.has(s);r.containerEl.append(this.selector.checkbox(o));const l=this.canSelectPeer(i);l||r.containerEl.classList.add("cant-select");let c;i._==="user"?c=P(i.pFlags.bot?"SharedFolder.Cant.ShareBots":"SharedFolder.Cant.ShareUsers"):l?c=await ja(i.id,void 0,i):c=P("SharedFolder.Cant.Share"),r.lastMessageSpan.append(c)});return Promise.all(t).then(()=>{})}}static getInitArgs(){return{animationData:Ns.loadAnimationFromURLManually("Folders_Shared")}}async init(e=wb.getInitArgs()){this.container.classList.add("edit-folder-container","shared-folder-container"),this.caption=document.createElement("div"),this.caption.classList.add("caption"),this.descriptionI18n=new Ne.IntlElement,this.caption.append(this.descriptionI18n.element),this.stickerContainer=document.createElement("div"),this.stickerContainer.classList.add("sticker-container"),this.confirmBtn=yt("check btn-confirm hide blue"),this.header.append(this.confirmBtn),this.elementMap=new Map,this.content.remove(),this.setTitle("SharedFolder.Edit.Title"),this.listenerSetter.add(I)("filter_update",s=>{this.filter.id===s.id&&(this.filter=s)});let t;if(this.chatlistInvite){const s=t=new Oe({name:"InviteLink"}),i=new Uu({buttons:[{icon:"copy",text:"CopyLink",onClick:()=>i.copyLink()},{icon:"delete",className:"danger",text:"DeleteLink",onClick:()=>{this.managers.filtersStorage.deleteExportedInvite(this.filter.id,this.chatlistInvite.url).then(()=>{this.eventListener.dispatchEvent("delete"),this.close()})}}],listenerSetter:this.listenerSetter,url:this.chatlistInvite.url});s.content.append(i.container)}{const s=this.chatsTitleI18n=new Ne.IntlElement;this.selector=new wn({middleware:this.middlewareHelper.get(),appendTo:this.container,onChange:this.onSelectChange,peerType:[],renderResultsFunc:this.renderResults,sectionNameLangPackKey:s.element,sectionCaption:"SharedFolder.Edit.Subtitle",managers:this.managers,noSearch:!0,multiSelect:!0}),this.selector.scrollable.attachBorderListeners(this.container);const n=(this.chatlistInvite?.peers??[]).map(p=>it(p));this.selector.addInitial(n);const r=eo(n.concat(this.filter.includePeerIds)),o=await Promise.all(r.map(p=>this.managers.appPeersManager.getPeer(p))),l=new Map,c=new Map,d=new Map;o.forEach(p=>{const m=p.id.toPeerId(p._!=="user");c.set(p,m),d.set(m,p);let g=0;this.canSelectPeer(p)?this.selector.selected.has(m)&&(g=1):g=-1,l.set(p,g)}),o.sort((p,m)=>l.get(m)-l.get(p)),this.selector.renderResultsFunc(o.map(p=>c.get(p)));const u=this.selector.add.bind(this.selector);this.selector.add=p=>{const m=p.key.toPeerId(),g=this.elementMap.get(m),{container:f}=g;if(f.classList.contains("cant-select")){let v;m.isUser()?v="SharedFolder.Toast.NoPrivate":v=d.get(m).pFlags.broadcast?"SharedFolder.Toast.NoAdminChannel":"SharedFolder.Toast.NoAdminGroup",$e({langPackKey:v}),to(f);return}return u(p)};const h=this.selector.remove.bind(this.selector);this.selector.remove=(...p)=>{const m=p[0].toPeerId();return this.selector.selected.size<=1?(to(this.elementMap.get(m).container),!1):h(...p)}}return J(this.confirmBtn,()=>{const s=os([this.confirmBtn],!0);this.managers.filtersStorage.editExportedInvite(this.filter.id,this.chatlistInvite.url,[...this.selector.selected],this.filter.title.text).then(i=>{this.eventListener.dispatchEvent("edit",i),this.close()},i=>{throw s(),i})},{listenerSetter:this.listenerSetter}),this.selector.scrollable.prepend(...[this.stickerContainer,this.caption,t?.container].filter(Boolean)),Promise.all([this.loadAnimationPromise=e.animationData.then(async s=>{const i=await s({container:this.stickerContainer,loop:!1,autoplay:!1,width:86,height:86});return this.animation=i,Ns.waitForFirstFrame(i)}),fr(this.filter.title,this.middlewareHelper.get()).then(s=>{this.descriptionTitle=document.createElement("span"),this.descriptionTitle.append(s),this.updateDescription()})])}updateDescription(e=this.chatlistInvite?this.chatlistInvite.peers.length:void 0){this.chatlistInvite?(this.descriptionI18n.update({key:"SharedFolder.Edit.Description",args:[this.descriptionTitle,P("Chats",[e])]}),this.chatsTitleI18n.update({key:"ChatsSelected",args:[e]})):(this.descriptionI18n.compareAndUpdate({key:"SharedFolder.NoChats"}),this.chatsTitleI18n.compareAndUpdate({key:"SharedFolder.NoChats.Title"}))}onOpenAfterTimeout(){this.loadAnimationPromise.then(()=>{this.animation.autoplay=!0,this.animation.play()})}}const Sp="popup-chatlist-invite";class Sb extends ue{constructor(e){super("popup-forward "+Sp,{closable:!0,overlayClosable:!0,body:!0,footer:!0,title:!0,withConfirm:!0}),Nt(this,e),this.construct()}async construct(){const e=document.createElement("div");e.classList.add("menu-horizontal-scrollable");const t=document.createElement("nav");t.classList.add("menu-horizontal-div");const{chatlistInvite:s,deleting:i,updating:n}=this,r=s?._==="chatlists.chatlistInviteAlready",o=r&&!!s.missing_peers.length,l=this.filter??(this.filter=r?await this.managers.filtersStorage.getFilter(s.filter_id):void 0);this.title.append(P(i?"SharedFolder.Link.TitleRemove":o?"SharedFolder.Link.TitleAdd":"SharedFolder.Link.Title"));let c;i&&(c=(await this.managers.filtersStorage.getLeaveChatlistSuggestions(this.filter.id)).map(x=>it(x)));const d=()=>{const E=document.createElement("div");E.classList.add("menu-horizontal-div-item");const x=document.createElement("span");return x.classList.add("menu-horizontal-div-item-span"),E.append(x),t.append(E),x};d().append(P("FilterAllChats"));const u=d();u.parentElement.classList.add("active"),u.append(await fr(l?l.title:s.title,this.middlewareHelper.get()),document.createElement("i")),d().append(P("FilterPersonal"));const h=document.createElement("div");h.classList.add("inner-shadow","inner-shadow-inset"),e.append(t,h);const p=document.createElement("div");p.classList.add(Sp+"-description","subtitle");let m,g;i?ks(p,"SharedFolder.Link.DescriptionRemove",[await fr(l.title,this.middlewareHelper.get())]):o?(m=new Ne.IntlElement,g=document.createElement("span"),g.append(await fr(l.title,this.middlewareHelper.get()))):ks(p,r?"SharedFolder.Link.DescriptionAlready":"SharedFolder.Link.Description");const f=new Ne.IntlElement,v=E=>{S&&o&&(E=Math.max(0,E-S.length)),f.update({key:i?"SharedFolder.Link.ChatsRemove":o?"SharedFolder.Link.ChatsAdd":r?"SharedFolder.Link.ChatsAlready":"SharedFolder.Link.Chats",args:[P("Chats",[E])]}),w?.update({key:(y=E===b.length)?"DeselectAll":"SelectAll"}),m?.update({key:"SharedFolder.Link.DescriptionAdd",args:[P("Chats",[E]),g]}),w&&(E&&(M.dataset.badge=""+E),M.classList.toggle("has-badge",!!E)),i&&_.update({key:E?"SharedFolder.Link.Remove":"SharedFolder.Link.TitleRemove"}),i||os([this.btnConfirm],!E)};let y;this.selector=new wn({middleware:this.middlewareHelper.get(),appendTo:this.body,onChange:v,onFirstRender:()=>{this.show(),this.selector.checkForTriggers()},multiSelect:!0,noSearch:!0,sectionNameLangPackKey:f.element,avatarSize:"abitbigger",managers:this.managers,peerType:[],getSubtitleForElement:async E=>{if(S?.includes(E)){const x=await this.managers.appPeersManager.isBroadcast(E);return P(x?"SharedFolder.Link.ChannelAlready":"SharedFolder.Link.ChatAlready")}},processElementAfter:(E,x)=>{S?.includes(E)&&x.dom.containerEl.classList.add("already")}});let w;(!r||o)&&(w=new Ne.IntlElement,w.element.classList.add("sidebar-left-section-name-right"),this.selector.section.title.append(w.element),J(w.element,()=>{y?this.selector.removeBatch(b):this.selector.addBatch(b)},{listenerSetter:this.listenerSetter}));let b;s?b=(o?s.missing_peers:r?s.already_peers:s.peers).map(x=>it(x)):b=l.includePeerIds;let S;if(r&&(S=s.already_peers.map(E=>it(E))),S){const E=this.selector.remove.bind(this.selector);this.selector.remove=(...x)=>{const R=x[0].toPeerId();if(S.includes(R)){const B=this.selector.getElementByPeerId(R);return to(B),!1}return E(...x)}}this.scrollable=this.selector.scrollable,this.attachScrollableListeners(),this.scrollable.prepend(e,p),this.btnConfirm.classList.add(`${Sp}-button`);const _=new Ne.IntlElement({key:i?"SharedFolder.Link.Remove":o?"SharedFolder.Link.Join":r?"OK":"SharedFolder.Link.Title"}),M=_.element;M.classList.add(`${Sp}-button-text`),this.btnConfirm.append(M),this.footer.append(this.btnConfirm),J(this.btnConfirm,()=>{if(r&&!o){this.hide();return}let E;const x=os([this.btnConfirm],!0),R=[...this.selector.selected];n?E=this.managers.filtersStorage.joinChatlistUpdates(this.filter.id,R):s?E=this.managers.filtersStorage.joinChatlistInvite(this.slug,R).catch(B=>{if(B.type==="DIALOG_FILTERS_TOO_MUCH")Ja("folders"),this.hide();else throw B}):E=this.managers.filtersStorage.leaveChatlist(this.filter.id,R),E.then(()=>{this.hide()},B=>{throw x(),B})},{listenerSetter:this.listenerSetter});const C=S?b.concat(S):b,L=i?c:C;this.selector.addInitial(L),this.selector.renderResultsFunc(i?eo(c.concat(C)):C),L.length||v(0),this.body.after(this.footer)}}const dT=12;class vr extends Zt{constructor(){super(...arguments),this.flags={}}static getInitArgs(){return{animationData:Ns.loadAnimationFromURLManually("Folders_2")}}static async deleteFolder(e){const t=await I.managers.filtersStorage.getFilter(e);if(t?._==="dialogFilterChatlist"&&!t.pFlags.has_my_invites){ue.createPopup(Sb,{filter:t,deleting:!0});return}return await Rt({titleLangKey:"ChatList.Filter.Confirm.Remove.Header",descriptionLangKey:t.pFlags.has_my_invites?"RemoveSharedFolder":"ChatList.Filter.Confirm.Remove.Text",button:{langKey:"Delete",isDanger:!0}}),I.managers.filtersStorage.updateDialogFilter({_:"dialogFilter",id:e},!0)}init(e=vr.getInitArgs()){this.container.classList.add("edit-folder-container"),this.caption=document.createElement("div"),this.caption.classList.add("caption"),this.caption.append(P("FilterIncludeExcludeInfo")),this.stickerContainer=document.createElement("div"),this.stickerContainer.classList.add("sticker-container"),this.tempId=0,this.showMoreClicked={},this.confirmBtn=yt("check btn-confirm hide blue");let t=!1;const s={icon:"delete",className:"danger",text:"FilterMenuDelete",onClick:()=>{t||vr.deleteFolder(this.filter.id).then(()=>{this.close()}).finally(()=>{t=!1})}};this.menuBtn=ki({listenerSetter:this.listenerSetter,direction:"bottom-left",buttons:[s]}),this.menuBtn.classList.add("hide"),this.header.append(this.confirmBtn,this.menuBtn);const i=new Oe({}),n=document.createElement("div");n.classList.add("input-wrapper"),this.nameInputField=new Yt({label:"FilterNameHint",maxLength:dT}),n.append(this.nameInputField.container),i.content.append(n);const r=(p,m,g,f,v)=>{const y=new Oe({name:m,caption:v,noDelimiter:!0});y.container.classList.add("folder-list",p);const w=y.generateContentElement();return w.classList.add("folder-categories"),g.forEach((b,S)=>{const _=ot("folder-category-button btn btn-primary btn-transparent"+(S===0?" primary":" disable-hover"),{icon:b.icon,text:b.text,noRipple:b.withRipple?void 0:!0});b.name&&(f[b.name]=_),w.append(_)}),y};this.includePeerIds=r("folder-list-included","FilterInclude",this.includePeerIdsButtons=[{icon:"add",text:"ChatList.Filter.Include.AddChat",withRipple:!0},{text:"ChatList.Filter.Contacts",icon:"newprivate",name:"contacts"},{text:"ChatList.Filter.NonContacts",icon:"noncontacts",name:"non_contacts"},{text:"ChatList.Filter.Groups",icon:"group",name:"groups"},{text:"ChatList.Filter.Channels",icon:"channel",name:"broadcasts"},{text:"ChatList.Filter.Bots",icon:"bots",name:"bots"}],this.flags,"FilterIncludeInfo"),this.excludePeerIds=r("folder-list-excluded","FilterExclude",this.excludePeerIdsButtons=[{icon:"minus",text:"FilterRemoveChats",withRipple:!0},{text:"ChatList.Filter.MutedChats",icon:"mute",name:"exclude_muted"},{text:"ChatList.Filter.Archive",icon:"archive",name:"exclude_archived"},{text:"ChatList.Filter.ReadChats",icon:"readchats",name:"exclude_read"}],this.flags,"FilterExcludeInfo"),this.inviteLinks=r("folder-list-links","InviteLinks",[{icon:"add",text:"SharedFolder.CreateLink",withRipple:!0}],{},"SharedFolder.Description"),this.scrollable.append(this.stickerContainer,this.caption,i.container,this.includePeerIds.container,this.excludePeerIds.container,this.inviteLinks.container),this.toggleExcludedPeers();const o=this.includePeerIds.container.querySelector(".folder-categories"),l=this.excludePeerIds.container.querySelector(".folder-categories");this.inviteLinksCreate=this.inviteLinks.container.querySelector(".btn"),J(o.querySelector(".btn"),()=>{this.slider.createTab(wS).open(this.filter,"included",this)},{listenerSetter:this.listenerSetter}),J(l.querySelector(".btn"),()=>{this.slider.createTab(wS).open(this.filter,"excluded",this)},{listenerSetter:this.listenerSetter});const c=p=>{if(this.nameInputField.input.classList.contains("error"))return;if(!this.nameInputField.value.trim()){this.nameInputField.input.classList.add("error");return}let m=Array.from(o.children).slice(1).reduce((f,v)=>f+ +!v.style.display,0);if(m+=this.filter.include_peers.length,!m){$e({langPackKey:"EditFolder.Toast.ChooseChat"});return}this.confirmBtn.setAttribute("disabled","true");let g;return this.filter.id?(p&&(u=!0),g=this.managers.filtersStorage.updateDialogFilter(this.filter)):g=this.managers.filtersStorage.createDialogFilter(this.filter),g.then(f=>(p&&this.close(),f)).catch(f=>{throw u=!1,d&&(this.updateFilter(d),d=void 0),f.type==="DIALOG_FILTERS_TOO_MUCH"?Ja("folders"):console.error("updateDialogFilter error:",f),f}).finally(()=>{this.confirmBtn.removeAttribute("disabled")})};J(this.confirmBtn,()=>{c(!0)},{listenerSetter:this.listenerSetter});let d,u=!1;this.listenerSetter.add(I)("filter_update",p=>{this.filter.id===p.id&&(u?d=p:this.updateFilter(p))}),this.listenerSetter.add(this.nameInputField.input)("input",()=>{this.filter.title={_:"textWithEntities",text:this.nameInputField.value,entities:[]},this.editCheckForChange()});const h=this.type==="edit"?[this.managers.filtersStorage.reloadMissingPeerIds(this.filter.id,"pinned_peers"),this.managers.filtersStorage.reloadMissingPeerIds(this.filter.id,"include_peers"),this.managers.filtersStorage.reloadMissingPeerIds(this.filter.id,"exclude_peers")]:[];return Promise.all([this.managers.apiManager.getLimit("chatlistInvites"),this.managers.apiManager.getLimit("chatlistInvites",!0),this.loadAnimationPromise=e.animationData.then(async p=>{const m=await p({container:this.stickerContainer,loop:!1,autoplay:!1,width:86,height:86});return this.animation=m,Ns.waitForFirstFrame(m)}),...h]).then(([p,m])=>{this.type==="edit"?(this.setFilter(this.originalFilter,!0),this.onEditOpen()):(this.setInitFilter(),this.onCreateOpen()),this.managers.filtersStorage.getExportedInvites(this.filter.id).catch(g=>{if(g.type==="FILTER_NOT_SUPPORTED")return[];throw g}).then(g=>{const f="usernames",v=this.inviteLinks.generateContentElement(),y=new Map,w=new Map,b=()=>{this.inviteLinksCreate.classList.toggle("hide",y.size>=m)},S=E=>{const x=w.get(E.url);x&&(x.container.remove(),w.delete(E.url),y.delete(x.container),b())},_=(E,x)=>{const R=x.title&&x.title!==this.filter.title.text?je(x.title):x.url.replace(/(.+?):\/\//,""),B=P("SharedFolder.Includes",[P("Chats",[x.peers.length])]);E.title.replaceChildren(R),E.subtitle.replaceChildren(B)},M=E=>{const x=new Fe({title:!0,subtitle:!0,clickable:!0});_(x,E),x.container.classList.add(f+"-username","active");const R=x.createMedia("medium");R.classList.add(f+"-username-icon"),R.append(Be("link")),v.append(x.container),y.set(x.container,E),w.set(E.url,x),b()};let C;Dn({buttons:[{icon:"copy",text:"CopyLink",onClick:()=>si(y.get(C).url)},{icon:"delete",className:"danger",text:"Delete",onClick:()=>{const E=y.get(C);this.managers.filtersStorage.deleteExportedInvite(this.filter.id,E.url).then(()=>{S(E)})}}],listenTo:v,listenerSetter:this.listenerSetter,findElement:E=>ne(E.target,"row"),onOpen:(E,x)=>C=x}),J(this.inviteLinksCreate,async()=>{if(y.size>=p){Ja("chatlistInvites");return}if(!this.filter.title){$e({langPackKey:"SharedFolder.Toast.NeedName"});return}const E=this.filter.pFlags;if(E&&[this.includePeerIdsButtons,this.excludePeerIdsButtons].some(B=>B.some(N=>!!E[N.name]))){$e({langPackKey:"SharedFolder.Toast.NoTypes"});return}if(this.filter.excludePeerIds?.length){$e({langPackKey:"SharedFolder.Toast.NoExcluded"});return}const x=os([this.inviteLinksCreate],!0);try{const R=c(!1);if(!(R instanceof Promise))throw"";const B=await R;this.updateFilter(B),this.type="edit",this.originalFilter=B,this.editCheckForChange()}catch{x();return}this.managers.filtersStorage.exportChatlistInvite({...this.filter,_:"dialogFilterChatlist",pFlags:this.filter._==="dialogFilter"?{has_my_invites:!0}:this.filter.pFlags}).then(R=>{x(),L(R.invite).finally(()=>{M(R.invite)})},R=>{if(x(),R.type==="INVITES_TOO_MUCH"||R.type==="FILTERS_TOO_MUCH"||R.type==="CHATLISTS_TOO_MUCH"){Ja("chatlistInvites");return}else if(R.type==="PEERS_LIST_EMPTY"||R.type==="CHAT_ADMIN_REQUIRED"){L();return}throw R})},{listenerSetter:this.listenerSetter});const L=E=>{const x=w.get(E?.url),R=this.slider.createTab(wb);return R.filter=this.filter,R.chatlistInvite=E,R.eventListener.addEventListener("delete",()=>{S(E)}),R.eventListener.addEventListener("edit",B=>{y.set(x.container,B),_(x,B)}),R.open()};J(v,E=>{const x=ne(E.target,"row"),R=y.get(x);R&&L(R)},{listenerSetter:this.listenerSetter}),g.forEach(M)})})}onOpenAfterTimeout(){this.loadAnimationPromise.then(()=>{this.animation.autoplay=!0,this.animation.play()})}onCreateOpen(){this.setTitle("FilterNew"),this.menuBtn.classList.add("hide"),this.confirmBtn.classList.remove("hide");for(const e in this.flags)this.flags[e].style.display="none"}onEditOpen(){const e=++this.tempId;this.setTitle(this.type==="create"?"FilterNew":"FilterHeaderEdit"),this.type==="edit"&&(this.menuBtn.classList.remove("hide"),this.confirmBtn.classList.add("hide"));const t=this.filter;this.nameInputField.value=ug(t.title.text);const s=t.pFlags;for(const n in this.flags){const r=!!s?.[n];this.flags[n].style.display=r?"":"none"}const i=["includePeerIds","excludePeerIds"].map(async n=>{let r=t[n];if(!r)return;const o=this[n],l=nt.createChatList({ignoreClick:!0}),c=async p=>!!await this.managers.appMessagesManager.getDialogOnly(p)||(p.isUser()?(await this.managers.appUsersManager.getUser(p.toUserId()))._==="user":!1),d=await zn(r,p=>c(p));r.length=0,r.push(...d),r=r.slice();const u=async p=>{const m=r.splice(0,p),g=await zn(m,async y=>y.isUser()?!0:!!await this.managers.appMessagesManager.getDialogOnly(y));if(e!==this.tempId)return;const f=[],v=g.map(y=>{const w=nt.addDialogNew({peerId:y,rippleEnabled:!1,meAsSaved:!0,avatarSize:"small",loadPromises:f,autonomous:!0,wrapOptions:{middleware:this.middlewareHelper.get()}});w.container.dialogElement=w;const{dom:b}=w;return b.lastMessageSpan.parentElement.remove(),b.containerEl});await Promise.all(f),e===this.tempId&&(l.append(...v),h&&(r.length?(h.lastElementChild.replaceWith(P("FilterShowMoreChats",[r.length])),h.classList.remove("hide")):h.remove()))};let h;return r.length&&!this.showMoreClicked[n]&&(h=ot("folder-category-button btn btn-primary btn-transparent hide",{icon:"down"}),h.classList.add("load-more","rp-overflow"),J(h,()=>{this.showMoreClicked[n]=!0,u(1/0)},{listenerSetter:this.listenerSetter}),h.append(P("FilterShowMoreChats",[r.length]))),u(this.showMoreClicked[n]?1/0:4).then(()=>{if(e===this.tempId)return()=>{o.generateContentElement().append(l),h&&r.length&&o.generateContentElement().append(h)}})});return Promise.all(i).then(n=>{e===this.tempId&&(this.toggleExcludedPeers(),this.container&&Array.from(this.container.querySelectorAll(".chatlist, .load-more")).forEach(r=>r.parentElement.remove()),n.forEach(r=>r?.()))})}editCheckForChange(){if(this.type==="edit"){const e=!Pn({...this.originalFilter,updatedTime:0,localId:0},{...this.filter,updatedTime:0,localId:0});this.confirmBtn.classList.toggle("hide",!e),this.menuBtn.classList.toggle("hide",e)}}setFilter(e,t){t?(this.originalFilter=e,this.filter=kn(e)):(this.filter=e,this.onEditOpen(),this.editCheckForChange())}setInitFilter(e){e===void 0?(this.setFilter({_:"dialogFilter",id:0,title:{_:"textWithEntities",text:"",entities:[]},pFlags:{},pinned_peers:[],include_peers:[],exclude_peers:[],pinnedPeerIds:[],includePeerIds:[],excludePeerIds:[]},!0),this.type="create"):(this.setFilter(e,!0),this.type="edit")}toggleExcludedPeers(){this.excludePeerIds.container.classList.toggle("hide",this.filter?._==="dialogFilterChatlist")}updateFilter(e){this.setFilter(e,!1)}}class Cd extends Zt{constructor(){super(...arguments),this.filtersRendered={}}static getInitArgs(){return{animationData:Ns.loadAnimationFromURLManually("Folders_1"),filters:I.managers.filtersStorage.getDialogFilters()}}async renderFolder(e,t,s,i){let n,r="";const o=[];if(e._==="dialogFilterSuggested")n=e.filter,r=e.description;else{n=e;const c=n.pFlags||{};if(Object.keys(c).length===1){let u;c.contacts?u="FilterAllContacts":c.non_contacts?u="FilterAllNonContacts":c.groups?u="FilterAllGroups":c.broadcasts?u="FilterAllChannels":c.bots&&(u="FilterAllBots"),u&&o.push(P(u))}if(!o.length){const u=await this.managers.dialogsStorage.getFolderDialogs(n.id);let h=0,p=0,m=0;await Promise.all(u.map(async g=>{await this.managers.appPeersManager.isAnyGroup(g.peerId)?++m:await this.managers.appPeersManager.isBroadcast(g.peerId)?++p:++h})),h&&o.push(P("Chats",[h])),p&&o.push(P("Channels",[p])),m&&o.push(P("Groups",[m]))}}if(s)n.id!==Fi&&St(s.title,await fr(n.title,this.middlewareHelper.get())),s.subtitle.textContent="",s.subtitle.append(...Yi(o));else{const c=e._==="dialogFilterSuggested";if(s=new Fe({title:n.id===Fi&&!c?P("FilterAllChats"):await fr(n.title,this.middlewareHelper.get()),subtitle:r,clickable:!0,buttonRightLangKey:c?"Add":void 0}),o.length&&s.subtitle.append(...Yi(o)),!c){const d=n.id;if(!this.filtersRendered[n.id]&&n.id!==Fi){const u=vr.getInitArgs();J(s.container,async()=>{const h=await this.managers.filtersStorage.getFilter(d),p=this.slider.createTab(vr);p.setInitFilter(h),p.open(u)},{listenerSetter:this.listenerSetter})}this.filtersRendered[n.id]=s,s.makeSortable()}}const l=s.container;if(i){const c=n.localId;c!==void 0?di(l,l.parentElement||t,c):t&&t.append(l)}return s}init(e=Cd.getInitArgs()){this.container.classList.add("chat-folders-container"),this.setTitle("ChatList.Filter.List.Title"),this.scrollable.container.classList.add("chat-folders"),this.stickerContainer=document.createElement("div"),this.stickerContainer.classList.add("sticker-container");const t=document.createElement("div");t.classList.add("caption"),Rh({element:t,key:"ChatList.Filter.Header"}),this.createFolderBtn=ot("btn-primary btn-color-primary btn-control",{text:"ChatList.Filter.NewTitle",icon:"add"}),this.foldersSection=new Oe({name:"Filters"}),this.foldersSection.container.classList.add("hide"),this.list=document.createElement("div"),this.foldersSection.content.append(this.list),this.suggestedSection=new Oe({name:"FilterRecommended"}),this.suggestedSection.container.classList.add("hide"),this.viewSection=new Oe({name:"FiltersView"});const s=document.createElement("form"),i="theme",n=ci("settings","tabsInSidebar"),r=new Fe({radioField:new rn({langKey:"FiltersOnLeft",name:i,value:"true",valueForState:!0,stateKey:n})}),o=new Fe({radioField:new rn({langKey:"FiltersOnTop",name:i,value:"false",valueForState:!1,stateKey:n})});this.listenerSetter.add(I)("settings_updated",({key:u,value:h})=>{u===n&&(document.body.classList.toggle("has-folders-sidebar",h),Ce.adjustChatPatternBackground(),h||Ri.showCtrlFTip())}),s.append(r.container,o.container),this.viewSection.content.append(s),this.scrollable.append(this.stickerContainer,t,this.createFolderBtn,this.foldersSection.container,this.suggestedSection.container,this.viewSection.container),J(this.createFolderBtn,async()=>{await this.canCreateFolder()?this.slider.createTab(vr).open():Ja("folders")},{listenerSetter:this.listenerSetter});const l=()=>{this.foldersSection.container.classList.toggle("hide",!Object.keys(this.filtersRendered).length)},c=[],d=e.filters.then(async u=>{for(const h of u)h.id!==yn&&await this.renderFolder(h,this.list,void 0,!0);this.toggleAllChats(),l()});return c.push(d),this.listenerSetter.add(I)("filter_update",async u=>{const h=this.filtersRendered[u.id];h?await this.renderFolder(u,null,h):u.id!==yn&&await this.renderFolder(u,this.list,void 0,!0),l(),this.getSuggestedFilters()}),this.listenerSetter.add(I)("filter_delete",u=>{const h=this.filtersRendered[u.id];h&&(this.getSuggestedFilters(),h.container.remove(),delete this.filtersRendered[u.id]),l()}),this.listenerSetter.add(I)("filter_order",u=>{u.filter(h=>!!this.filtersRendered[h]).forEach((h,p)=>{const g=this.filtersRendered[h].container;di(g,g.parentElement,p+1)})}),this.listenerSetter.add(I)("premium_toggle",()=>{this.toggleAllChats()}),this.loadAnimationPromise=e.animationData.then(async u=>{const h=await u({container:this.stickerContainer,loop:!1,autoplay:!1,width:86,height:86});return this.animation=h,Ns.waitForFirstFrame(h)}),c.push(this.loadAnimationPromise),new mb({list:this.list,middleware:this.middlewareHelper.get(),onSort:(u,h)=>{let p=[];for(const m in this.filtersRendered){const g=this.filtersRendered[m],f=Bn(g.container);p[f]=+m}p=p.filter(m=>m!==void 0),I.premium||Vs(p,Fi),this.managers.filtersStorage.updateDialogFiltersOrder(p)},scrollable:this.scrollable}),this.getSuggestedFilters(),Promise.all(c)}onOpenAfterTimeout(){return this.loadAnimationPromise.then(()=>{this.animation.autoplay=!0,this.animation.play()}),super.onOpenAfterTimeout()}toggleAllChats(){this.filtersRendered[Fi].container.classList.toggle("hide",!I.premium)}async canCreateFolder(){const[e,t]=await Promise.all([this.managers.apiManager.getLimit("folders"),this.managers.filtersStorage.getDialogFilters()]);return t.filter(i=>!oa.has(i.id)).length{this.suggestedSection.container.classList.toggle("hide",!e.length),Array.from(this.suggestedSection.content.children).slice(1).forEach(t=>t.remove());for(const t of e){const s=await this.renderFolder(t);this.suggestedSection.content.append(s.container);const i=s.buttonRight;J(i,async n=>{if(_e(n),!await this.canCreateFolder()){Ja("folders");return}i.setAttribute("disabled","true");const r=t.filter;r.includePeerIds=[],r.excludePeerIds=[],r.pinnedPeerIds=[],this.managers.filtersStorage.createDialogFilter(r,!0).then(()=>{s.container.remove(),this.suggestedSection.container.classList.toggle("hide",this.suggestedSection.content.childElementCount===1)}).finally(()=>{i.removeAttribute("disabled")})},{listenerSetter:this.listenerSetter})}})}}class r1{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const s=t.boundingClientRect,i=t.target.parentElement,n=t.rootBounds;s.bottom=n.top&&s.bottom{const t=e.filter(i=>i.boundingClientRect.topi.boundingClientRect.top-n.boundingClientRect.top)[0];if(!t)return;const s=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,s)},{root:this.container})}addSentinel(e,t){const s=document.createElement("div");return s.classList.add("sticky_sentinel",t),e.appendChild(s)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}function hT(a){return jt(a,{entities:[HC(a)]})}function o1({listenTo:a,chatInput:e,isPack:t,verifyRecent:s,appendTo:i,isEmojis:n,isGif:r,canHaveEmojiTimer:o,canViewPack:l,onOpen:c,onClose:d,onSend:u}){let h,p;const m=async y=>{const w=await(r?I.managers.acknowledged.appGifsManager.getGifs():I.managers.acknowledged.appStickersManager.getFavedStickersStickers());if(!w.cached)return!1;const b=(await w.result).some(S=>S.id===p.id);return y?!b:b},g=y=>{I.managers.appUsersManager.updateEmojiStatus(y).then(()=>{$e({langPackKey:"SetAsEmojiStatusInfo"})})},f=async y=>{g({_:"emojiStatus",document_id:p.id,until:Qs(!0)+y})};let v=n?[{icon:"copy",text:"Copy",onClick:()=>{p?si(p.stickerEmojiRaw,h.outerHTML):si(Jm(h).emoji)}},{icon:"stickers_face",text:"ViewPackPreview",onClick:()=>{const w=p.attributes.find(b=>b._==="documentAttributeCustomEmoji").stickerset;ue.createPopup(ga,w,!0,e).show()},verify:()=>l},{icon:"smile",text:"SetAsEmojiStatus",onClick:()=>{g({_:"emojiStatus",document_id:p.id})},verify:()=>!!(I.premium&&p)},{icon:"delete",text:"DeleteFromRecent",onClick:()=>I.managers.appEmojiManager.deleteRecentEmoji(Jm(h)),verify:()=>s?.(h)??!1}]:[{icon:"stickers",text:"Context.ViewStickerSet",onClick:()=>ue.createPopup(ga,p.stickerSetInput,!1,e).show(),verify:()=>!t&&!r},{icon:r?"gifs":"favourites",text:r?"SaveToGIFs":"AddToFavorites",onClick:()=>r?I.managers.appGifsManager.saveGif(p.id,!1):I.managers.appStickersManager.faveSticker(p.id,!1),verify:()=>m(!0)},{icon:r?"crossgif":"crossstar",text:r?"Message.Context.RemoveGif":"DeleteFromFavorites",onClick:()=>r?I.managers.appGifsManager.saveGif(p.id,!0):I.managers.appStickersManager.faveSticker(p.id,!0),verify:()=>m(!1)},{icon:"delete",text:"DeleteFromRecent",onClick:()=>I.managers.appStickersManager.saveRecentSticker(p.id,!0),verify:()=>s?.(h)??!1},{icon:"mute",text:"Chat.Send.WithoutSound",onClick:()=>(u?.(),e.emoticonsDropdown.sendDocId({document:p.id,clearDraft:!1,silent:!0,target:h})),verify:()=>!!(e&&e.chat.peerId&&e.chat.peerId!==I.myId)},{icon:"schedule",text:"Chat.Send.ScheduledMessage",onClick:()=>e.scheduleSending(()=>e.sendMessageWithDocument({document:p,target:h})),verify:()=>e&&!!e.chat.peerId&&!e.chat.starsAmount}];return o&&(v=[{text:"SetEmojiStatusUntil1Hour",onClick:()=>f(3600),verify:()=>o},{text:"SetEmojiStatusUntil2Hours",onClick:()=>f(3600*2),verify:()=>o},{text:"SetEmojiStatusUntil8Hours",onClick:()=>f(3600*8),verify:()=>o},{text:"SetEmojiStatusUntil2Days",onClick:()=>f(3600*24*2),verify:()=>o}]),Dn({listenTo:a,appendTo:i,findElement:y=>{if(h=y.target,n){const w=ne(h,"super-emoji");w?h=w.firstElementChild:h=ne(h,"emoji")||ne(h,"custom-emoji")}else r?h=ne(y.target,"gif"):h=ne(y.target,"media-sticker-wrapper");return h},onOpen:async()=>(p=await I.managers.appDocsManager.getDoc(h.dataset.docId),c?.()),onClose:d,buttons:v})}function Cb(a){let e=a.thumb;return e?(e.w=a.w,e.h=a.h):e={_:"photoStrippedSize",bytes:new Uint8Array([1,24,30,197,162,138,40,0,162,138,40,0,162,138,40,0,162,138,40,3]),type:"i",w:1,h:1},{_:"photo",access_hash:"",pFlags:{},date:0,dc_id:0,file_reference:[],id:0,sizes:[e]}}function Vi(a,e=!1,t){if(!a)return;let s;if(a.action)s=a.action.photo;else if(a.media){let i=a.media;const n=i.extended_media;if(i.webpage)i=i.webpage;else if(n){const r=GC(n)[t??0];if(i=r.media,!i)return Cb(r)}s=i.document||i.photo||(e?void 0:i.game||i)}return s}const uT=(()=>{try{return dn&&+navigator.userAgent.match(/ Version\/(\d+)/)[1]<14}catch{return!1}})(),SS=10;class pT extends pn{constructor(){super(...arguments),this.media=new Map,this.scheduled=new Map,this.mediaDetails=new Map,this.waitingMediaForLoad=new Map,this.waitingScheduledMediaForLoad=new Map,this.waitingDocumentsForLoad={},this.playbackRates={voice:1,video:1,audio:1},this.seekBackward=(e,t=this.playingMedia)=>{t&&on(t,Math.max(0,t.currentTime-(e.seekOffset||SS)))},this.seekForward=(e,t=this.playingMedia)=>{t&&on(t,Math.min(t.duration,t.currentTime+(e.seekOffset||SS)))},this.seekTo=(e,t=this.playingMedia)=>{t&&on(t,e.seekTime)},this.onMediaDocumentLoad=async e=>{const t=this.mediaDetails.get(e),s=await this.managers.appDocsManager.getDoc(t.docId);s.type==="audio"&&s.supportsStreaming&&uT&&this.handleSafariStreamable(e);const i=Ae.getCacheContext(s);e.src=i.url,this.playingMedia===e&&(e.playbackRate=this.playbackRate,s.type==="audio"&&(e.loop=this.loop));const n=this.waitingDocumentsForLoad[s.id];n&&(n.delete(e),n.size||delete this.waitingDocumentsForLoad[s.id])},this.onPlay=e=>{const t=e.target,s=this.mediaDetails.get(t),{peerId:i,mid:n}=s,r=this.pip;r&&r.pause();const o=this.getMessageByMedia(t);if(this.playingMedia!==t){this.stop(),this.setMedia(t,o);const c=h=>h.mid===n&&h.peerId===i,d=this.listLoader,u=d.getCurrent();if(!u||!c(u)){let h;for(const p of[!1,!0]){const m=d.getPrevious(p);let g=m.findIndex(c);if(g!==-1?h=-(m.length-g):(g=d.getNext(p).findIndex(c),g!==-1&&(h=g+1)),h!==void 0)break}h?this.go(h,!1):this.setTargets({peerId:i,mid:n})}}setTimeout(()=>{this.playingMedia===t&&(this.dispatchEvent("play",this.getPlayingDetails()),this.pauseMediaInOtherTabs())},0)},this.onPause=e=>{this.dispatchEvent("pause")},this.onEnded=e=>{if(e&&!e.isTrusted)return;this.onPause(e);const t=this.listLoader;(this.lockedSwitchers||!this.round&&t.current&&!t.next.length||!t.getNext(!0).length||!this.next())&&(this.stop(),this.dispatchEvent("stop"))},this.play=()=>this.toggle(!0),this.pause=()=>this.toggle(!1),this.stop=(e=this.playingMedia,t)=>{if(!e)return!1;if(e.paused||e.pause(),on(e,0),md(e,"ended"),e===this.playingMedia){const s=this.mediaDetails.get(e);if(s?.clean){e.src="";const i=s.peerId,n=s.isScheduled?this.scheduled:this.media,r=n.get(i);r&&(r.delete(s.mid),r.size||n.delete(i)),e.remove(),this.mediaDetails.delete(e)}this.playingMedia=void 0,this.playingMediaType=void 0}return t&&this.dispatchEvent("stop"),!0},this.playItem=e=>{const{peerId:t,mid:s}=e,i=this.searchContext.isScheduled;this.getMedia(t,s,i).play(),setTimeout(()=>{this.resolveWaitingForLoadMedia(t,s,i)},0)},this.go=(e,t)=>{const s=this.listLoader;if(!(this.lockedSwitchers||!s))return this.playingMediaType==="audio"?s.goRound(e,t):s.go(e,t)},this.browserPlay=this.bindBrowserCallback(e=>this.toggle(!0,e)),this.browserPause=this.bindBrowserCallback(e=>this.toggle(!1,e)),this.browserStop=this.bindBrowserCallback(e=>this.stop(e)),this.browserSeekBackward=this.bindBrowserCallback((e,t)=>this.seekBackward(t,e)),this.browserSeekForward=this.bindBrowserCallback((e,t)=>this.seekForward(t,e)),this.browserSeekTo=this.bindBrowserCallback((e,t)=>this.seekTo(t,e)),this.browserNext=this.bindBrowserCallback(e=>e||this.next()),this.browserPrevious=this.bindBrowserCallback(e=>e?this.seekToStart(e):this.previous()),this.next=()=>this.go(1),this.previous=()=>{if(!this.seekToStart(this.playingMedia))return this.go(-1)}}construct(e){if(this.managers=e,this.container=document.createElement("div"),this.container.style.cssText="display: none;",document.body.append(this.container),navigator.mediaSession){const i={play:this.browserPlay,pause:this.browserPause,stop:this.browserStop,seekbackward:this.browserSeekBackward,seekforward:this.browserSeekForward,seekto:this.browserSeekTo,previoustrack:this.browserPrevious,nexttrack:this.browserNext};for(const n in i)try{navigator.mediaSession.setActionHandler(n,i[n])}catch{console.warn("MediaSession action is not supported:",n)}}I.addEventListener("document_downloaded",i=>{const n=this.waitingDocumentsForLoad[i];if(n)for(const r of n)this.onMediaDocumentLoad(r)}),I.addEventListener("media_play",()=>{if(this.skipMediaPlayEvent){this.skipMediaPlayEvent=!1;return}!this.pause()&&this.pip&&this.pip.pause()});const t={};["volume","muted","playbackRate","loop","round"].forEach(i=>{const n="_"+i;t[i]={get:()=>this[n],set:r=>{this[n]!==r&&(this[n]=r,this.playingMedia&&(i!=="loop"||this.playingMediaType==="audio")&&i!=="round"&&(this.playingMedia[i]=r),i==="playbackRate"&&this.playingMediaType!==void 0&&(this.playbackRates[this.playingMediaType]=r),this.dispatchPlaybackParams())}}}),Object.defineProperties(this,t),this.addEventListener("play",({doc:i})=>{i.type==="round"&&Ut.toggleMediaPause(!1)}),this.addEventListener("pause",()=>{Ut.toggleMediaPause(!0)})}dispatchPlaybackParams(){this.dispatchEvent("playbackParams",this.getPlaybackParams())}getPlaybackParams(){const{volume:e,muted:t,playbackRate:s,playbackRates:i,loop:n,round:r}=this;return{volume:e,muted:t,playbackRate:s,playbackRates:i,loop:n,round:r}}setPlaybackParams(e){this.playbackRates=e.playbackRates,this._volume=e.volume,this._muted=e.muted,this._playbackRate=e.playbackRate,this._loop=e.loop,this._round=e.round}addMedia(e,t,s){const{peerId:i,mid:n}=e,o=!!e.pFlags.is_scheduled?this.scheduled:this.media;let l=o.get(e.peerId);l||o.set(e.peerId,l=new Map);let c=l.get(n);if(c)return c;const d=Vi(e,!0);l.set(n,c=document.createElement(d.type==="round"||d.type==="video"?"video":"audio")),d.type==="round"&&c.setAttribute("playsinline","true");const u={peerId:i,mid:n,docId:d.id,doc:d,message:e,clean:s,isScheduled:e.pFlags.is_scheduled};this.mediaDetails.set(c,u),c.volume=1,this.container.append(c),c.addEventListener("play",this.onPlay),c.addEventListener("pause",this.onPause),c.addEventListener("ended",this.onEnded),d.type!=="audio"&&e?.pFlags.media_unread&&e.fromId!==I.myId&&c.addEventListener("timeupdate",()=>{this.managers.appMessagesManager.readMessages(i,[n])},{once:!0});const h=Mt();if(t)h.resolve();else{const p=e.pFlags.is_scheduled?this.waitingScheduledMediaForLoad:this.waitingMediaForLoad;let m=p.get(i);m||p.set(i,m=new Map),m.set(n,h)}return h.then(()=>{if(d.supportsStreaming||Ae.getCacheContext(d).url)this.onMediaDocumentLoad(c);else{let p=this.waitingDocumentsForLoad[d.id];p||(p=this.waitingDocumentsForLoad[d.id]=new Set),p.add(c),fs.downloadMediaURL({media:d})}}),c}getMedia(e,t,s){return(s?this.scheduled:this.media).get(e)?.get(t)}handleSafariStreamable(e){e.addEventListener("play",()=>{const t=e.currentTime;e.addEventListener("progress",()=>{on(e,e.duration-1),e.addEventListener("progress",()=>{on(e,t),e.paused||e.play()},{once:!0})},{once:!0})})}resolveWaitingForLoadMedia(e,t,s){const i=s?this.waitingScheduledMediaForLoad:this.waitingMediaForLoad,n=i.get(e);if(!n)return;const r=n.get(t);r&&(r.resolve(),n.delete(t),n.size||i.delete(e))}isSafariBuffering(e){return!!e.safariBuffering}setSafariBuffering(e,t){e.safariBuffering=t}async setNewMediadata(e,t=this.playingMedia){if(document.pictureInPictureElement)return;await ua(t,void 0,!1);const s=Vi(e,!0);if(!s)return;const i=[],n=s.type==="voice"||s.type==="round";let r="",o="";if(s.thumbs?.length){const c=s.thumbs[s.thumbs.length-1];if(!c.bytes){const d=Ae.getCacheContext(s,c.type);d.url?i.push({src:d.url,sizes:`${c.w}x${c.h}`,type:"image/jpeg"}):fs.downloadMediaURL({media:s,thumb:c}).then(()=>{this.playingMedia!==t||!d.url||this.setNewMediadata(e)})}}else if(n){const c=e.fromId||e.peerId;await this.managers.appPeersManager.getPeerPhoto(c),r=await Gr({peerId:c,plainText:!0,onlyFirstName:!1}),o=Ne.format(s.type==="voice"?"AttachAudio":"AttachRound",!0)}if(!n){const c=s.attributes.find(d=>d._==="documentAttributeAudio");r=c?.title??s.file_name,o=c?.performer}i.length||($o?pt?i.push({src:"assets/img/apple-touch-icon-precomposed.png",sizes:"180x180",type:"image/png"}):i.push({src:"assets/img/apple-touch-icon.png",sizes:"180x180",type:"image/png"}):[72,96,144,192,256,384,512].forEach(c=>{const d=`${c}x${c}`;i.push({src:`assets/img/android-chrome-${d}.png`,sizes:d,type:"image/png"})}));const l=new MediaMetadata({title:r,artist:o,artwork:i});navigator.mediaSession.metadata=l}setCurrentMediadata(){const{playingMedia:e}=this;if(!e)return;const t=this.getMessageByMedia(e);this.setNewMediadata(t,e)}getMessageByMedia(e){return this.mediaDetails.get(e)?.message}getPlayingDetails(){const{playingMedia:e}=this;if(!e)return;const t=this.getMessageByMedia(e);if(t)return{doc:Vi(t,!0),message:t,media:e,playbackParams:this.getPlaybackParams()}}pauseMediaInOtherTabs(){this.skipMediaPlayEvent=!0,I.dispatchEvent("media_play")}toggle(e,t=this.playingMedia){return!t||(e===void 0&&(e=t.paused),t.paused!==e)?!1:(e?t.play():t.pause(),!0)}getPlayingMedia(){return this.playingMedia}bindBrowserCallback(e){return s=>{e(this.pip,s)}}seekToStart(e){return e?.currentTime>5?(on(e,0),this.toggle(!0,e),!0):!1}willBePlayed(e){this.willBePlayedMedia=e}setSearchContext(e){return Pn(this.searchContext,e)?!1:(this.searchContext=kn(e),!0)}getSearchContext(){return this.searchContext}setTargets(e,t,s){let i=this.listLoader;i?i.reset():i=this.listLoader=new Rg({loadCount:10,loadWhenLeft:5,processItem:r=>(this.addMedia(r,!1),{peerId:r.peerId,mid:r.mid}),onJump:(r,o)=>{this.playItem(r)},onEmptied:()=>{this.dispatchEvent("stop"),this.stop()}});const n=this.searchContext.folderId===void 0;t?i.setTargets(t,s,n):i.reverse=n,i.setSearchContext(this.searchContext),i.current=e,i.load(!0),i.load(!1)}getPlaybackMediaTypeFromMessage(e){const t=Vi(e,!0);let s="audio";return t?.type&&(t.type==="voice"||t.type==="round"?s="voice":t.type==="video"&&(s="video")),s}setMedia(e,t,s){const i=this.getPlaybackMediaTypeFromMessage(t);this._playbackRate=this.playbackRates[i],this.playingMedia=e,this.playingMediaType=i,s||(this.playingMedia.volume=this.volume,this.playingMedia.muted=this.muted,this.playingMedia.playbackRate=this.playbackRate,i==="audio"&&(this.playingMedia.loop=this.loop)),"mediaSession"in navigator&&this.setNewMediadata(t)}setSingleMedia({media:e,message:t,standalone:s}={}){const i=this.playingMedia,n=this.pause();let r;return e?(r=()=>{const o=this.pip;o&&o.pause(),this.pauseMediaInOtherTabs()},e.paused||r(),e.addEventListener("play",r)):this.pauseMediaInOtherTabs(),this.willBePlayed(void 0),e?this.setMedia(e,t,s):this.playingMedia=void 0,this.toggleSwitchers(!1),this.dispatchEvent("singleMedia",e),(o=n)=>{this.toggleSwitchers(!0),i&&(this.mediaDetails.get(i)?this.setMedia(i,this.getMessageByMedia(i)):this.next()||this.previous()),this.playingMedia===e&&(this.playingMedia=void 0,this.playingMediaType=void 0),e&&e.removeEventListener("play",r),o&&this.play()}}toggleSwitchers(e){this.lockedSwitchers=!e}setPictureInPicture(e){this.pip=e;const t=new $t;t.add(e)("leavepictureinpicture",()=>{this.pip===e&&(this.pip=void 0,t.removeAll())},{once:!0}),t.add(e)("play",s=>{this.playingMedia!==e&&this.pause(),this.pauseMediaInOtherTabs()})}}const rt=new pT;Di.appMediaPlaybackController=rt;let Od;function Dl(a,e){return Od||(Od=document.createElement("canvas").getContext("2d",{alpha:!1})),Od.font!==e&&(Od.font=e),Od.measureText(a).width}const CS="…",Xh=new Map,Zh=new Set;let _f=!1;function l1(){_f||(_f=!0,$s(()=>{_f=!1,mT()}))}function mT(){Zh.forEach(c1),Zh.clear()}window.addEventListener("resize",()=>{for(const[a]of Xh)Zh.add(a);l1()},{capture:!0,passive:!0});function If(a){const e=a.getSize;if(e)return e();const t=a.dataset.sizeType;return t?st.active[t].width:a.getBoundingClientRect().width}function c1(a){let e=Xh.get(a);const t=!e;let{text:s,textLength:i,from:n,multiplier:r,font:o,textWidth:l,elementWidth:c}=e||{};if(t){s=a.textContent,i=s.length,n=50,r=n>0&&n/100;let h=a.dataset.fontSize;h&&+h&&(h+="px"),o=`${a.dataset.fontWeight||fL} ${h||VC} ${Fh}`,l=Dl(s,o),c=If(a),e={text:s,textLength:i,from:n,multiplier:r,font:o,textWidth:l,elementWidth:c},Xh.set(a,e)}const d=If(a),u=t||c!==d;if(!t&&u&&(e.elementWidth=c=d),u)if(l>c){a.setAttribute("title",s);let h=s,p=c;for(;h.length>3;){const m=h.length,g=r&&zt(r*m<<0,1,m-2)||Math.max(m+n-1,1),f=h.substr(0,g).replace(/\s*$/,""),v=h.substr(g+1).replace(/^\s*/,"");if(h=f+v,p=Dl(h+CS,o),p{if(this.hoverRAF)return;this.activeSegmentIdx!=null&&this.toggleSegment(this.activeSegmentIdx,!1);const s=this.filledContainer.getBoundingClientRect(),i=t.clientX-s.left,n=this.segments.findIndex(r=>r.left<=i&&i<=r.right);n>=0&&(this.activeSegmentIdx=n,this.toggleSegment(n,!0)),this.updateTimeAndSegment(i,s.width)},this.onPointerOut=()=>{this.toggleSegment(this.activeSegmentIdx,!1),this.activeSegmentIdx=null},this.onLoadedData=()=>{this.setSeekMax(),this.setTimestampsClipPath()},this.onEnded=()=>{this.setProgress()},this.onPlay=()=>{const t=()=>{this.setProgress(),this.progressRAF=this.media.paused?void 0:window.requestAnimationFrame(t)};this.progressRAF&&(window.cancelAnimationFrame(this.progressRAF),this.progressRAF=void 0),this.streamable&&this.setLoadProgress(),t()},this.onTimeUpdate=()=>{this.media.paused&&(this.setProgress(),this.streamable&&this.setLoadProgress())},this.onProgress=t=>{this.setLoadProgress()},this.snapScrubValue=t=>{if(!this.segments?.length)return t;const s=this.segments[this.segments.length-1].right,i=t/this.media.duration*s;for(const n of this.segments)if(n.left-2<=i&&i<=n.left+3)return n.time;return t}}setMedia({media:e,streamable:t,duration:s}){this.media&&this.removeListeners(),t&&!this.filledLoad?(this.filledLoad=document.createElement("div"),this.filledLoad.classList.add("progress-line__filled","progress-line__loaded"),this.container.prepend(this.filledLoad)):this.filledLoad&&this.filledLoad.classList.toggle("hide",!t),this.media=e,this.streamable=t,(!e.paused||e.currentTime>0)&&this.onPlay(),this.setTimestampsClipPath();let i=!1;this.setSeekMax(s),this.setListeners(),this.setHandlers({onMouseDown:()=>{i=!this.media.paused,i&&this.media.pause(),this.options?.onSeekStart?.(),this.container.classList.add("media-progress-line--seeking")},onMouseUp:n=>{i&&Sn(this.media),this.options?.onSeekEnd?.(),this.container.classList.remove("media-progress-line--seeking")}})}initResizeObserver(){this.unobserveResize?.(),this.unobserveResize=Gy(this.filledContainer,()=>{this.setTimestampsClipPath()})}toggleSegment(e,t){const s=this.clipPathSvg.querySelector(`rect:nth-child(${e+1})`);t?s?.setAttribute("data-active","true"):s?.removeAttribute("data-active")}wrapProgressLinesInContainer(){if(this.filledContainer)return;this.container.classList.add("media-progress-line"),this.filledContainer=document.createElement("div"),this.filledContainer.classList.add("media-progress-line__filled-container");const e=document.createElement("div");e.classList.add("media-progress-line__thumb"),this.currentTimeInfoElement=document.createElement("div"),this.currentTimeInfoElement.classList.add("media-progress-line__current-time-info"),this.currentTimeElement=document.createElement("div"),this.currentTimeInfoElement.classList.add("media-progress-line__current-time"),this.currentSegmentElement=document.createElement("div"),this.currentTimeInfoElement.classList.add("media-progress-line__current-segment"),this.currentTimeInfoElement.append(this.currentSegmentElement,this.currentTimeElement),this.filledContainer.append(this.filled,this.filledLoad),this.container.prepend(this.filledContainer),this.container.append(e,this.currentTimeInfoElement),this.container.addEventListener("pointermove",this.onHover),this.container.addEventListener("pointerout",this.onPointerOut),this.initResizeObserver()}clearTimeAndSegment(){this.currentTimeElement.textContent="",this.currentSegmentElement.textContent=""}updateTimeAndSegment(e,t){if(!this.media||!this.currentTimeInfoElement)return;if(e<0||e>t){this.clearTimeAndSegment();return}const s=bn(e/t*this.media.duration|0);if(this.currentTimeElement.textContent=s,this.segments?.length>0){const o=this.segments.find(c=>c.left<=e&&e<=c.right),l=this.options.videoTimestamps?.find(c=>c.time===o.time);this.currentSegmentElement.textContent=Ya(l?.text||"",24,27)}const i=this.currentTimeInfoElement.getBoundingClientRect(),n=Math.min(0,t-(e+i.width/2)),r=Math.max(0,i.width/2-e);this.currentTimeInfoElement.style.setProperty("--current-time-info-x",e+r+n+"px")}setTimestampsClipPath(){if(this.removeClipPathFromDOM(),this.segments=[],!this.options.videoTimestamps?.length)return;this.wrapProgressLinesInContainer();const t=this.filledContainer.getBoundingClientRect().width,s=this.segments=this.getTimestampSegments(t);if(!s?.length)return;const i=1,n=s.map(l=>``);this.usedClipPathId=++Ic.svgClipPathIdSeed;const r=`media-progress-line-clip-path-svg-${Ic.svgClipPathIdSeed}`,o=`media-progress-line-clip-path-${Ic.svgClipPathIdSeed}`;this.removeClipPathFromDOM(),this.clipPathSvg=gr(` ${n.join(` `)} `),document.body.append(this.clipPathSvg),this.filledContainer.style.clipPath=`url(#${o})`}getTimestampSegments(e){const{videoTimestamps:t}=this.options;if(!t?.length||!this.filledContainer)return[];const s=this.media.duration;if(!s)return[];const i=t.map(({time:o})=>o).filter(o=>o>=0&&o<=s).sort((o,l)=>o-l);i[0]!==0&&i.unshift(0),i.push(s);const n=[];let r=0;for(let o=0;o=e&&(c=e),n.push({left:l,right:c,time:i[o]}),c===e))break}return n}removeClipPathFromDOM(){this.clipPathSvg?.remove()}scrub(e){const t=super.scrub(e,this.snapScrubValue);return on(this.media,t),t}setLoadProgress(){if(rt.isSafariBuffering(this.media))return;const e=this.media.buffered,t=e.length,s=this.media.currentTime;let i=0,n=0;for(let o=0;o=l&&l>=i&&(i=l,n=e.end(o))}const r=this.max?n/this.max:0;this.filledLoad.style.width=r*100+"%"}setSeekMax(e){const t=this.media.duration||0;(e===void 0||t)&&(e=t),(this.max=e)?this.seek.setAttribute("max",""+this.max):this.media.addEventListener("loadeddata",this.onLoadedData)}setProgress(){if(rt.isSafariBuffering(this.media))return;const e=this.media.currentTime;this.options.onTimeUpdate?.(e),super.setProgress(e),this.container.style.setProperty("--progress",e/this.media.duration+"")}setListeners(){super.setListeners(),this.media.addEventListener("ended",this.onEnded),this.media.addEventListener("play",this.onPlay),this.media.addEventListener("pause",this.onTimeUpdate),this.media.addEventListener("timeupdate",this.onTimeUpdate),this.streamable&&this.media.addEventListener("progress",this.onProgress)}removeListeners(){super.removeListeners(),this.media&&(this.media.removeEventListener("loadeddata",this.onLoadedData),this.media.removeEventListener("ended",this.onEnded),this.media.removeEventListener("play",this.onPlay),this.media.removeEventListener("pause",this.onTimeUpdate),this.media.removeEventListener("timeupdate",this.onTimeUpdate),this.streamable&&this.media.removeEventListener("progress",this.onProgress)),this.container.removeEventListener("pointermove",this.onHover),this.container.removeEventListener("pointerout",this.onPointerOut),this.progressRAF&&(window.cancelAnimationFrame(this.progressRAF),this.progressRAF=void 0)}cleanup(){this.removeClipPathFromDOM(),this.removeListeners(),this.unobserveResize?.(),this.segments=[]}};Ic.svgClipPathIdSeed=0;let Jc=Ic;function Aa(a){return a&&(a.saved_from_name||a.from_name)}function d1(a){return a.fromId?{peerId:a.fromId}:{fromName:Aa(a.fwd_from)}}async function Sm(a){const e=document.createElement("span");e.classList.add("sender-title");const t=a.fromId===I.myId&&a.peerId!==I.myId;if(e.append(t?P("FromYou"):await qe({...d1(a),dialog:a.peerId===I.myId})),await I.managers.appPeersManager.isAnyGroup(a.peerId)||t){const s=await qe({peerId:a.peerId});e.append(" ➝ ",s)}return e}function Ib(a){const e=document.createElement("span");return e.classList.add("sent-time"),e.append(Au(new Date(a.date*1e3))),e}I.addEventListener("messages_media_read",({mids:a,peerId:e})=>{a.forEach(t=>{const s=`[data-mid="${t}"][data-peer-id="${e}"]`;Array.from(document.querySelectorAll(`audio-element.is-unread${s}, .media-round.is-unread${s}`)).forEach(i=>{i.classList.remove("is-unread")})})});function gT(a){a instanceof Uint8Array||(a=new Uint8Array(a));const t=a.length*8/5|0;if(!t)return new Uint8Array([]);let s;try{const i=new DataView(a.buffer);s=new Uint8Array(t);for(let n=0;n>o&31}}catch{s=new Uint8Array([])}return s}function fT(a,e){const n=(st.isMobile,23),r=st.isMobile?152:190,o=st.isMobile?190:256,l=zt(e/60*o,r,o),c=Math.max(...a),d=a.length,u=Math.min(l/4|0,d);let h=0;const p=n-4;let m="";for(let v=0,y=0,w=0;v=d){w=w+u-d,w<(u+1)/2&&h`;m+=_,y+=4,w<(u+1)/2?h=0:h=b}else hp._==="documentAttributeAudio")?.waveform||new Uint8Array([]);s=gT(s.slice(0,63));const{svg:i,container:n,availW:r}=fT(s,t.duration);let o;n&&(o=n.cloneNode(!0),o.classList.add("audio-waveform-fake"),n.classList.add("audio-waveform-background"));const l=document.createElement("div");l.classList.add("audio-waveform-container"),n&&l.append(n,o);const c=document.createElement("div");if(c.classList.add("audio-time"),a.append(l,c),a.customAudioToTextButton)a.classList.add("can-transcribe"),a.append(a.customAudioToTextButton);else if(a.transcriptionState!==void 0){a.classList.add("can-transcribe");const p=document.createElement("div");p.classList.add("audio-to-text-button");const m=Be("transcribe"),g=document.createElement("div");g.classList.add("loader"),g.innerHTML='',p.append(m),p.onclick=()=>{const f=(ne(a,"document-wrapper")||ne(a,"quote-text")).querySelector(".audio-transcribed-text");if(a.transcriptionState===0)if(f)f.classList.remove("hide"),m.classList.remove(zr("transcribe")),m.classList.add(zr("up")),a.transcriptionState=2;else{const v=a.message;if(v.pFlags.is_outgoing)return;a.transcriptionState=1,!g.parentElement&&p.append(g),hi().then(()=>{a.transcriptionState===1&&g.classList.add("active")}),a.managers.appMessagesManager.transcribeAudio(v).catch(as)}else a.transcriptionState===2&&(f.classList.add("hide"),m.classList.remove(zr("up")),m.classList.add(zr("transcribe")),a.transcriptionState=0)},a.append(p)}let d=i,u;return d||(u=new Jc,l.append(u.container)),()=>{let p=a.audio;const m=()=>{Wl(()=>p?(g(),!p.paused):!1,a)},g=()=>{o&&(o.style.width=p.currentTime/p.duration*100+"%")};(!p.paused||p.currentTime>0&&p.currentTime!==p.duration)&&g();const f=vL(g);return a.addAudioListener("timeupdate",f),a.addAudioListener("ended",f),a.addAudioListener("play",m),d&&a.readyPromise.then(()=>{let v=!1,y=!1;d.addEventListener("mouseleave",b=>{v&&(a.togglePlay(void 0,!0),v=!1),y=!1}),d.addEventListener("mousemove",b=>{y=!0,v&&w(b)}),d.addEventListener("mousedown",b=>{b.preventDefault(),b.button===0&&(p.paused||a.togglePlay(void 0,!1),w(b),v=!0)}),d.addEventListener("mouseup",b=>{y&&v&&(a.togglePlay(void 0,!0),v=!1)}),J(d,b=>{_e(b),p.paused||w(b)});function w(b){let S;if(b instanceof MouseEvent)S=b.offsetX;else{const M=b.target.getBoundingClientRect();S=b.targetTouches[0].pageX-M.left}const _=S/r*p.duration;on(p,_)}},as),!d&&u.setMedia({media:p,streamable:t.supportsStreaming,duration:t.duration}),()=>{d?.remove(),d=null,p=null}}}async function yT(a){const e=a.withTime,t=a.message,s=Vi(t),i=s.type==="voice"||s.type==="round",n=document.createElement("div");n.classList.add("audio-description");const r=s.attributes.find(h=>h._==="documentAttributeAudio");if(!i){const h=[];r?.performer&&h.push(je(r.performer)),e?h.push(gs(t.date)):h.length||h.push(ur(s.size)),a.showSender&&h.push(await Sm(t)),n.append(" • ",...Kl(h," • "))}a.insertAdjacentHTML("beforeend",`
`);const l=a.querySelector(".audio-title"),c=new _b;c.dataset.fontWeight=a.dataset.fontWeight,c.dataset.fontSize=a.dataset.fontSize,c.dataset.sizeType=a.dataset.sizeType,c.getSize=a.getSize,i?c.append(await Sm(t)):Qt(c,je(r?.title??s.file_name)),l.append(c),a.showSender&&l.append(Ib(t));const d=a.querySelector(".audio-subtitle");return d.append(n),()=>{let h=!1,p=new Jc;p.setMedia({media:a.audio,streamable:s.supportsStreaming,duration:s.duration}),a.addAudioListener("ended",()=>{a.classList.remove("audio-show-progress"),d.lastChild.replaceWith(n),h=!1});const m=()=>{h||(a.classList.add("audio-show-progress"),h=!0,p&&d.lastChild.replaceWith(p.container))};return a.addAudioListener("play",m),(!a.audio.paused||a.audio.currentTime>0)&&m(),()=>{p.removeListeners(),p.container.remove(),p=null}}}function Pf(a=!0){const e=new Kn({cancelable:!0,tryAgainOnFail:a});return e.construct(),a||(e.circle.setAttributeNS(null,"r","23"),e.totalLength=143.58203125),e}const h1=(a,e)=>{let t,s;const i=!a.classList.contains("search-super-item"),n=ne(a,i?"bubbles-inner":"tabs-tab");if(n){const r=':not([data-is-outgoing="1"])',o=`.audio:not(.is-voice)${r}`;let l;if(a.matches(o)?l=[o]:l=[`.audio.is-voice${r}`,`.media-round${r}`],i){const p=".bubble:not(.webpage) ";l=l.map(m=>p+m)}const c=l.join(", ");let d=Array.from(n.querySelectorAll(c));d=d.filter(p=>p===a||p.matches(':not([data-to-be-skipped="1"])'));const u=d.indexOf(a),h=d.map(p=>({peerId:p.dataset.peerId.toPeerId(),mid:+p.dataset.mid}));t=h.slice(0,u),s=h.slice(u+1)}return(s.length&&s[0].mide)&&([t,s]=[s.reverse(),t.reverse()]),[t,s]};class Pb extends HTMLElement{constructor(){super(...arguments),this.withTime=!1,this.voiceAsMusic=!1,this.showSender=!1,this.listenerSetter=new $t}async render(){this.classList.add("audio"),this.managers=I.managers,this.dataset.mid=""+this.message.mid,this.dataset.peerId=""+this.message.peerId;const e=Vi(this.message),t=e.type==="voice",s=!this.voiceAsMusic&&t,i=this.message.pFlags.is_outgoing,n=this.uploadingFileName??this.message?.uploadingFileName?.[0],r=()=>{const p=this.audio&&this.audio.readyState>=this.audio.HAVE_CURRENT_DATA?this.audio.duration:e.duration;return bn(p|0)};this.innerHTML=`
`;const o=this.firstElementChild,l=document.createElement("div");l.classList.add("audio-download"),e.type!=="audio"&&this.message&&this.message.pFlags.media_unread&&this.classList.add("is-unread"),n&&(this.classList.add("is-outgoing"),this.append(l));const d=await(s||this.shouldWrapAsVoice?vT(this):yT(this)),u=this.querySelector(".audio-time");u.textContent=r();const h=this.onLoad=p=>{this.onLoad=void 0;const m=this.audio??(this.audio=rt.addMedia(this.message,p)),g=this.readyPromise=Mt();this.audio.readyState>=this.audio.HAVE_CURRENT_DATA?g.resolve():this.addAudioListener("canplay",()=>g.resolve(),{once:!0}),this.onTypeDisconnect=d();const f=()=>bn(m.currentTime|0)+(s?" / "+r():""),v=()=>{u.innerText=f(),o.classList.toggle("playing",!m.paused)};(!m.paused||m.currentTime>0&&m.currentTime!==m.duration)&&v();const y=w=>{this.togglePlay(w)};o.addEventListener("click",y),this.addAudioListener("ended",()=>{o.classList.remove("playing"),u.innerText=r()}),this.addAudioListener("timeupdate",()=>{!m.currentTime&&m.paused||rt.isSafariBuffering(m)||(u.innerText=f())}),this.addAudioListener("pause",()=>{o.classList.remove("playing")}),this.addAudioListener("play",v)};if(e.thumbs?.length){const p=[],m=await Bi({photo:e,message:null,container:o,boxWidth:48,boxHeight:48,loadPromises:this.loadPromises,withoutPreloader:!0,lazyLoadQueue:this.lazyLoadQueue});o.style.width=o.style.height="",m.images.thumb&&p.push(m.images.thumb),m.images.full&&p.push(m.images.full),this.classList.add("audio-with-thumb"),p.forEach(g=>g.classList.add("audio-thumb"))}if(i){if(n){this.classList.add("downloading"),this.preloader=Pf(!1);const p=fs.getUpload(n);this.preloader.attachPromise(p),this.dataset.isOutgoing="1",this.preloader.attach(l,!1),p.then(()=>{this.classList.remove("downloading"),l.classList.add("downloaded"),setTimeout(()=>{l.remove()},200)})}}else{let p=this.preloader;const m=e.type!=="audio";h(m);const g=this.load=(f,v)=>{if(this.load=void 0,!this.audio.src){if(rt.resolveWaitingForLoadMedia(this.message.peerId,this.message.mid,this.message.pFlags.is_scheduled),this.onDownloadInit(f),!p)if(e.supportsStreaming){this.classList.add("corner-download");let y;const w=()=>{const S=Pf(!1),_=Mt();_.notifyAll({done:75,total:100}),_.catch(()=>{this.audio.pause(),rt.willBePlayed(void 0)}),_.cancel=()=>{_.cancel=as,_.reject(Vo("CANCELED"))},S.attach(l,!1,_),y=this.addAudioListener("pause",()=>{_.cancel()},{once:!0}),this.onDownloadInit(f)},b=this.addAudioListener("play",w);this.readyPromise.then(()=>{this.listenerSetter.remove(b),y&&this.listenerSetter.remove(y)})}else{p=Pf(),f||(this.readyPromise=Mt());const y=()=>{this.onDownloadInit(f);const w=fs.downloadMediaURL({media:e});return f||w.then(()=>{this.readyPromise.resolve()}),p.attach(l,!1,w),{download:w}};p.setDownloadFunction(y),y()}this.classList.contains("corner-download")?o.append(l):this.append(l),this.classList.add("downloading"),this.readyPromise.then(()=>{this.classList.remove("downloading"),l.classList.add("downloaded"),setTimeout(()=>{l.remove()},200),!v&&rt.willBePlayedMedia===this.audio&&(Sn(this.audio),rt.willBePlayed(void 0))})}};this.audio?.src||(m?g(!1):J(o,()=>{g(!0)},{once:!0,listenerSetter:this.listenerSetter}))}}onDownloadInit(e){e&&(rt.willBePlayed(this.audio),dn&&!this.audio.autoplay&&(this.audio.autoplay=!0))}togglePlay(e,t=this.audio.paused){e&&_e(e),t?(this.setTargetsIfNeeded(),Sn(this.audio)):this.audio.pause()}setTargetsIfNeeded(){const e=!!this.searchContext;if(rt.setSearchContext(this.searchContext||{peerId:Wt,inputFilter:{_:"inputMessagesFilterEmpty"},useSearch:!1})){const t=this.dataset.toBeSkipped?this.audio.parentElement:this,[s,i]=e?h1(t,this.message.mid):[];rt.setTargets({peerId:this.message.peerId,mid:this.message.mid},s,i)}}playWithTimestamp(e){this.load?.(!0),on(this.audio,e),this.togglePlay(void 0,!0)}get addAudioListener(){return this.listenerSetter.add(this.audio)}disconnectedCallback(){setTimeout(()=>{this.isConnected||(this.onTypeDisconnect&&(this.onTypeDisconnect(),this.onTypeDisconnect=null),this.readyPromise&&this.readyPromise.reject(),this.listenerSetter&&(this.listenerSetter.removeAll(),this.listenerSetter=null),this.preloader&&(this.preloader=null))},100)}}customElements.define("audio-element",Pb);class Mb extends pn{constructor(){super(!1),this.hideControls=(e=!1)=>{if(e){this.hideControlsTimeout||(this.hideControlsTimeout=window.setTimeout(this.hideControls,3e3));return}clearTimeout(this.hideControlsTimeout),this.hideControlsTimeout=0;const t=this.element.classList.contains("show-controls");if(this.controlsLocked!==!1){if(this.canHideControls&&!this.canHideControls()||!t||this.controlsLocked)return}else if(!t)return;this.dispatchEvent("toggleControls",!1),this.element.classList.remove("show-controls")},this.showControls=(e=!0)=>{(this.canShowControls?.()??!0)&&(this.hideControlsTimeout?(clearTimeout(this.hideControlsTimeout),this.hideControlsTimeout=0):!this.element.classList.contains("show-controls")&&this.controlsLocked!==!1&&(this.dispatchEvent("toggleControls",!0),this.element.classList.add("show-controls")),!(!e||this.controlsLocked)&&(this.hideControlsTimeout=window.setTimeout(this.hideControls,3e3)))},this.toggleControls=e=>{const t=this.element.classList.contains("show-controls");if(e===void 0)t?this.hideControls():this.showControls();else{if(e===t)return;e===!1?this.hideControls():this.showControls()}},this.hideControlsTimeout=0}setup(e){Nt(this,e);const{listenerSetter:t,element:s}=this;pt?t.add(s)("click",i=>{this.ignoreClickClassName&&ne(i.target,this.ignoreClickClassName)||this.toggleControls()}):(t.add(s)("mousemove",()=>{this.showControls()}),t.add(s)("mouseenter",()=>{this.showControls(!1)}),t.add(s)("mouseleave",i=>{if(i.relatedTarget&&this.showOnLeaveToClassName&&ne(i.relatedTarget,this.showOnLeaveToClassName)){this.showControls(!1);return}this.hideControls()}))}lockControls(e){this.controlsLocked!==e&&(this.controlsLocked=e,this.element.classList.toggle("disable-hover",e===!1),this.toggleControls(e))}}const Mf="player-volume",cg=class cg extends Xl{constructor(e){super({step:.01,min:0,max:1,vertical:e.vertical},1),this.setVolume=({volume:s,muted:i,eventType:n})=>{let r;!s||i?r=0:s>.5?r=3:s>0&&s<.25?r=1:r=2,Wo(this.btn,cg.ICONS[r]).classList.add(Mf+"__icon"),this.media&&(this.media.volume=s,this.media.muted=i),this.mousedown||this.setProgress(i?0:s),n&&this.onVolumeChange?.(n)},this.setGlobalVolume=s=>{const{volume:i,muted:n}=rt;return this.setVolume({volume:i,muted:n,eventType:s})},Nt(this,e),this.setListeners(),this.setHandlers({onScrub:s=>{const i=Math.max(Math.min(s,1),0);this.useGlobalVolume&&this.modifyGlobal(()=>{rt.muted=!1,rt.volume=i}),this.setVolume({volume:i,muted:!1,eventType:"click"})}});const t=this.btn=document.createElement("div");t.classList.add("btn-icon",Mf),J(t,s=>{ne(s.target,Mf+"__icon")&&this.onMuteClick(s)},{listenerSetter:this.listenerSetter}),this.useGlobalVolume?(this.listenerSetter.add(rt)("playbackParams",s=>{this.ignoreGlobalEvents||this.setVolume({...s,eventType:"global"})}),this.useGlobalVolume==="no-init"?this.setVolume({volume:rt.volume,muted:this.media.muted}):this.setGlobalVolume()):this.media&&this.setVolume({volume:this.media.volume,muted:this.media.muted}),t.append(this.container)}removeListeners(){super.removeListeners(),this.onVolumeChange=void 0}modifyGlobal(e){this.ignoreGlobalEvents=!0,e(),this.ignoreGlobalEvents=!1}onMuteClick(e){e&&_e(e);const t=rt.muted;this.useGlobalVolume&&this.modifyGlobal(()=>{rt.muted=!t}),this.setVolume({volume:this.media?.volume??rt.volume,muted:!(this.media?.muted??t),eventType:"click"})}};cg.ICONS=["volume_off","volume_mute","volume_down","volume_up"];let Cm=cg;function bT({width:a=0,height:e=0,image:t}={}){const s=document.createElement("canvas");s.width=a,s.height=e;const i=s.captureStream();i.getVideoTracks()[0].enabled=!0;const n=s.getContext("2d");return t&&(n.drawImage(t,0,0,a,e),n.globalAlpha=.5,n.fillStyle="#000"),n.fillRect(0,0,a,e),i}function uh(a){const e=[480,720,1080],t=(e[1]-e[0])/2;if(a"),ST=Y('');function CT(a){const[e,t]=K([]),[s,i]=K(),[n,r]=K(!1),o={loadQualityLevels:async()=>{r(!0)},isMenuOpen:()=>l().classList.contains("menu-open")};a.controlsRef(o),le(()=>{n()&&(async()=>{const c=await PT(a.video,i);t(c)})()}),le(()=>{if(n()){e().forEach(d=>d.icon=void 0);const c=e().find(d=>d.id===(s()||"auto"));c&&(c.icon="check")}});const l=V(()=>ki({icon:`settings ${a.skin}__button checkable-button-menu quality-levels-switch-button`,buttons:e(),direction:"top-left"}));return le(()=>{l()?.append(MT())}),le(()=>{const c=s()===1080;l()?.querySelector(".tgico")?.replaceWith(Be(c?"settings_clipped_corner":"settings")),l()?.classList.toggle("quality-levels-switch-button--is-hd",c)}),T(Js,{get when(){return e().length>0},get children(){return l()}})}function _T(a){const e=document.createElement("div");let t;const s=wi(()=>T(CT,ni({controlsRef:i=>{t=i}},a)),e);return{element:e,get controls(){return t},dispose:s}}function u1(a,e){return(()=>{const t=wT(),s=t.firstChild;return k(t,()=>P(a),s),k(s,e),t})()}function IT(a){return u1(`Hls.ResolutionHeightName${a}`,`${a}p`)}async function PT(a,e){const t=yL.get(a);if(!t)return[];const s=Mt(),{default:i}=await zo(()=>import("./hls-I6_10gPe.js"),[],import.meta.url);t.levels&&t.levels.length>0?s.resolve(t.levels):t.on(i.Events.MANIFEST_PARSED,(c,d)=>{s.resolve(d.levels)});const n=await s,o=Array.from(new Set(n.map(c=>uh(c.height)))).sort((c,d)=>d-c).map(c=>{const d=n.filter(h=>uh(h.height)===c).sort((h,p)=>h.bitrate-p.bitrate),u=()=>{let h=d[0];for(const m of d)m.bitrate{t.currentLevel=-1,e()}},...o]}function MT(){return ST()}const LT=[.5,1,1.5,2,3],ET=5,kT={0:"geometric_digit_0",1:"geometric_digit_1",2:"geometric_digit_2",3:"geometric_digit_3",4:"geometric_digit_4",5:"geometric_digit_5",6:"geometric_digit_6",7:"geometric_digit_7",8:"geometric_digit_8",9:"geometric_digit_9",x:"geometric_letter_x",".":"geometric_dot"};function TT(a){const[e,t]=K(rt.playbackRate||1),s={setPlayBackRate:t,changeRateByAmount:r=>{const o=e()+r;o<1?t(.5):t(Math.min(ET,Math.round(o-.01))),rt.playbackRate=e()},isMenuOpen:()=>n.classList.contains("menu-open")};a.controlsRef(s);const i=LT.map(r=>({id:r.toFixed(1),emptyIcon:!0,onClick:()=>{rt.playbackRate=r,t(r)},text:r===1?"PlaybackRateNormal":void 0,regularText:r!==1?r+"x":void 0}));le(()=>{i.forEach(o=>o.icon=void 0);const r=i.find(o=>o.id===e().toFixed(1));r&&(r.icon="check")}),le(()=>{const r="playback-speed-icon-floating";n.querySelector(`.${r}`)?.remove();const l=e().toFixed(1).replace(/\.0$/,"x").split("").map(d=>({char:d==="."?"dot":d,icon:kT[d]})).filter(Boolean),c=document.createElement("span");c.classList.add(r),c.append(...l.map(({char:d,icon:u})=>Be(u,"geometric-font-icon",`geometric-font-icon--${d}`))),n.append(c)});const n=ki({icon:`mediaspeed_empty ${a.skin}__button`,buttons:i,direction:"top-left",onOpen:()=>{a.onMenuToggle?.(!0)},onClose:()=>{a.onMenuToggle?.(!1)}});return le(()=>{n?.classList.add("checkable-button-menu","playback-rate-button-menu")}),n}function xT(a){const e=document.createElement("div");let t;const s=wi(()=>T(TT,ni({controlsRef:i=>{t=i}},a)),e);return{element:e,get controls(){return t},dispose:s}}const AT=Y(""),hs=a=>{const[,e]=wa(a,["icon"]);return(()=>{const t=AT();return so(t,ni(e,{get class(){return Ge("tgico",a.class)}}),!1,!0),k(t,()=>zC(a.icon)),t})()},RT=Y("
x
"),FT=Y("
"),BT=Y(''),DT=2,$T=200,NT=1500,OT=1/100,Lf=.2,IS=5,UT=.2;function HT(a){const[e,t]=K(rt.playbackRate),[s,i]=K(!1),[n,r]=K(!0),[o,l]=K([0,0]),c={isChangingSpeed:()=>s()};a.controlsRef(c);let d;const u=new $t;Jt(()=>{let p,m=0,g=1,f=0;function v(){const y=a.video.getBoundingClientRect();pi(()=>{i(!0),l([p[0]-y.left,p[1]-y.top])}),f&&(rt.playbackRate=Math.min(g+f,IS)),window.setTimeout(()=>{if(!d)return;const w=d.getBoundingClientRect();w.lefty.right||w.bottom>y.bottom?r(!0):r(!1),setTimeout(()=>{n()||r(!0)},NT)},0)}u.add(a.video)("pointerdown",y=>{a.video.paused||(p=[y.clientX,y.clientY],g=rt.playbackRate,!Gi&&PS(g,1)&&(f=1),Gi&&(f=g),m=window.setTimeout(()=>{v()},$T))}),u.add(window)("pointermove",y=>{if(!p||Gi)return;const w=y.clientX-p[0],b=g+f,S=w*OT;let _;if(b<1){const C=Math.min((1-b)/Lf,S);_=b+C*Lf+Math.max(0,S-C)}else b+S<1?_=1-(1-b-S)*Lf:_=b+S;if(_=zt(_,UT,IS),PS(rt.playbackRate,_)||(rt.playbackRate=_),!p||n())return;Math.hypot(w,y.clientY-p[1])>DT&&(r(!0),window.clearTimeout(m),i(!0))}),u.add(window)("pointerup",()=>{p&&(window.clearTimeout(m),pi(()=>{r(!0),i(!1),l([0,0])}),p=void 0,f&&(rt.playbackRate=g),f=0)}),u.add(rt)("playbackParams",()=>{t(rt.playbackRate)})}),le(()=>{s()&&(a.onShowSpeed(),a.video&&(a.video.dataset.startedChangingSpeed="true",a.video.dataset.wasChangingSpeed="true",setTimeout(()=>{delete a.video.dataset.startedChangingSpeed},100)),ze(()=>{a.onHideSpeed(),a.video&&setTimeout(()=>{delete a.video.dataset.wasChangingSpeed},100)}))}),ze(()=>{u.removeAll()});const h=()=>e().toFixed(1).replace(/\.0$/,"");return T(Js,{get when(){return s()},get children(){return[(()=>{const p=RT(),m=p.firstChild,g=m.firstChild,f=m.nextSibling;return k(m,h,g),k(f,T(MS,{}),null),k(f,T(MS,{class:"speed-drag-handler__speed-arrow-right-last"}),null),Me(()=>e()!=null?p.style.setProperty("--animation-duration-multiplier",e()):p.style.removeProperty("--animation-duration-multiplier")),p})(),(()=>{const p=FT(),m=p.firstChild,g=m.nextSibling,f=d;return typeof f=="function"?Ue(f,p):d=p,k(m,T(hs,{icon:"arrow_prev"}),null),k(m,T(hs,{icon:"arrow_next"}),null),k(g,()=>P("PlaybackRateDragTip")),Me(v=>{const y=!n()&&!Gi,w=o()[0]+"px",b=o()[1]+"px";return y!==v._v$&&p.classList.toggle("speed-drag-handler__speed-tip--visible",v._v$=y),w!==v._v$2&&((v._v$2=w)!=null?p.style.setProperty("--left",w):p.style.removeProperty("--left")),b!==v._v$3&&((v._v$3=b)!=null?p.style.setProperty("--top",b):p.style.removeProperty("--top")),v},{_v$:void 0,_v$2:void 0,_v$3:void 0}),p})()]}})}function GT(a){const e=document.createElement("div");let t;const s=wi(()=>T(HT,ni({controlsRef:i=>{t=i}},a)),e);return{element:e,get controls(){return t},dispose:s}}function PS(a,e){return a.toFixed(1)===e.toFixed(1)}function MS(a){return(()=>{const e=BT();return Me(()=>Es(e,"class",Ge("speed-drag-handler__speed-arrow-right",a.class))),e})()}class p1 extends Mb{constructor({video:e,container:t,play:s=!1,streamable:i=!1,duration:n,live:r,width:o,height:l,videoTimestamps:c,onPlaybackRateMenuToggle:d,onPip:u,onPipClose:h,listenKeyboardEvents:p,useGlobalVolume:m,onVolumeChange:g,onFullScreen:f,onFullScreenToPip:v,shouldEnableSoundOnClick:y}){if(super(),this._inPip=!1,this._onPip=w=>{this._inPip=w,this.wrapper.style.visibility=w?"hidden":"",this.onPip?.(w)},this.onEnterPictureInPictureLeave=w=>{const b=()=>{clearTimeout(_),this.onPipClose?.()},S=this.listenerSetter.add(w.target)("pause",b,{once:!0}),_=setTimeout(()=>{this.listenerSetter.remove(S)},this.debouncePipTime)},this.onEnterPictureInPicture=w=>{this.debouncedPip(!0),this.listenerSetter.add(w.target)("leavepictureinpicture",this.onEnterPictureInPictureLeave,{once:!0})},this.onLeavePictureInPicture=()=>{this.debouncedPip(!1)},this.requestPictureInPicture=async()=>{if(this.video.duration){this.isFullScreen()&&this.onFullScreenToPip?.(),this.video.requestPictureInPicture(),this.checkInteraction();return}if(!this.emptyPipVideo){const{width:w,height:b}=this;this.emptyPipVideo=document.createElement("video"),this.emptyPipVideo.autoplay=!0,this.emptyPipVideo.muted=!0,this.emptyPipVideo.playsInline=!0,this.emptyPipVideo.style.position="absolute",this.emptyPipVideo.style.visibility="hidden",document.body.prepend(this.emptyPipVideo),this.emptyPipVideo.srcObject=bT({width:w,height:b,image:this.emptyPipVideoSource}),this.addPipListeners(this.emptyPipVideo)}await ua(this.emptyPipVideo),this.emptyPipVideo.requestPictureInPicture(),ua(this.video).then(()=>{document.pictureInPictureElement===this.emptyPipVideo&&(document.exitPictureInPicture(),this.video.requestPictureInPicture())})},this.video=e,this.video.classList.add("ckin__video"),this.wrapper=t??document.createElement("div"),this.wrapper.classList.add("ckin__player"),this.live=r,this.canPause=!r,this.canSeek=!r,this._width=o,this._height=l,this.onPlaybackRateMenuToggle=d,this.onPip=u,this.onPipClose=h,this.onVolumeChange=g,this.onFullScreen=f,this.onFullScreenToPip=v,this.listenKeyboardEvents=p,this.hadContainer=!!t,this.useGlobalVolume=m,this.shouldEnableSoundOnClick=y,this.video.playbackRate=rt.playbackRate,this.listenerSetter=new $t,this.setup({element:this.wrapper,listenerSetter:this.listenerSetter,canHideControls:()=>!(this.video.paused||this.playbackRateButton?.controls.isMenuOpen()||this.qualityLevelsButton?.controls.isMenuOpen()),canShowControls:()=>!this.speedDragHandler?.controls.isChangingSpeed(),showOnLeaveToClassName:"media-viewer-caption",ignoreClickClassName:"ckin__controls"}),this.hadContainer||(e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e)),this.skin="default",this.stylePlayer(n),this.skin==="default"&&!r){const w=this.controls=this.wrapper.querySelector(".default__controls.ckin__controls");this.gradient=this.controls.previousElementSibling,this.progress=new Jc({videoTimestamps:c,onSeekStart:()=>{this.wrapper.classList.add("is-seeking")},onSeekEnd:()=>{this.wrapper.classList.remove("is-seeking")}}),this.progress.setMedia({media:e,streamable:i,duration:n}),w.prepend(this.progress.container)}s?e.play().catch(w=>{w.name==="NotAllowedError"&&(e.muted=!0,e.autoplay=!0,Sn(e))}).finally(()=>{this.setIsPlaying(!this.video.paused)}):this.setIsPlaying(!this.video.paused)}get width(){return this.video.videoWidth||this._width}get height(){return this.video.videoHeight||this._height}setIsPlaying(e){this.isPlaying!==e&&(this.isPlaying=e,this.toggleActivity(e),!(this.live&&!e)&&(this.wrapper.classList.toggle("is-playing",e),this.toggles.forEach(t=>{t.replaceChildren(Be(e?"pause":"play"))})))}stylePlayer(e){const{wrapper:t,video:s,skin:i,listenerSetter:n,live:r}=this;t.classList.add(i),r&&t.classList.add(`${i}-live`);const o=this.buildControls();t.insertAdjacentHTML("beforeend",o);let l;const c=[],d=[];if(i==="default"){if(this.canPause){const v=this.mainToggle=ot(`${i}__button--big toggle`,{noRipple:!0,icon:"play"});t.firstElementChild.after(v)}const u=t.querySelector(".left-controls");if(r)this.toggles=[];else{const v=yt(` ${i}__button toggle`,{noRipple:!0});u.prepend(v),this.toggles=[v]}const h=t.querySelector(".right-controls");r||(this.playbackRateButton=xT({skin:this.skin,onMenuToggle:this.onPlaybackRateMenuToggle})),!Gi&&document.pictureInPictureEnabled&&(this.pipButton=yt(`pip ${i}__button`,{noRipple:!0}));const p=yt(` ${i}__button`,{noRipple:!0});h.append(...[this.playbackRateButton?.element,this.createQualityLevelsButton(),this.pipButton,p].filter(Boolean));const m=t.querySelector(".ckin__time-elapsed");l=t.querySelector(".ckin__time-duration");const g=this.volumeSelector=new Cm({listenerSetter:n,vertical:!1,media:s,useGlobalVolume:this.useGlobalVolume,onVolumeChange:this.onVolumeChange});g.btn.classList.remove("btn-icon"),m?m.parentElement.before(g.btn):u.lastElementChild.before(g.btn),this.toggles.forEach(v=>{J(v,()=>{this.togglePlay()},{listenerSetter:this.listenerSetter})}),this.pipButton&&(J(this.pipButton,this.requestPictureInPicture,{listenerSetter:this.listenerSetter}),this.debouncePipTime=20,this.debouncedPip=$i(this._onPip,this.debouncePipTime,!1,!0),this.addPipListeners(s)),pt||(this.canPause&&J(s,()=>{this.checkInteraction()||s.dataset.wasChangingSpeed||this.togglePlay()},{listenerSetter:this.listenerSetter}),this.listenKeyboardEvents&&n.add(document)("keydown",v=>{if(vn.overlaysActive>1||document.pictureInPictureElement===s||this.listenKeyboardEvents==="fullscreen"&&!this.isFullScreen())return;const{key:y,code:w}=v;let b=!0;if(w==="KeyF")this.toggleFullScreen();else if(w==="KeyM")rt.muted=!rt.muted;else if(w==="Space"&&this.canPause)this.togglePlay();else if(v.altKey&&(w==="Equal"||w==="Minus")&&this.canSeek){const S=w==="Equal"?1:-1;this.playbackRateButton.controls.changeRateByAmount(S)}else t.classList.contains("ckin__fullscreen")&&(y==="ArrowLeft"||y==="ArrowRight")&&this.canSeek?y==="ArrowLeft"?rt.seekBackward({action:"seekbackward"}):rt.seekForward({action:"seekforward"}):b=!1;if(b)return _e(v),!1})),this.canPause&&(this.speedDragHandler=GT({video:this.video,onShowSpeed:()=>{this.hideControls()},onHideSpeed:()=>{this.showControls()}}),this.wrapper.append(this.speedDragHandler.element),n.add(s)("contextmenu",v=>{v.preventDefault()})),n.add(s)("dblclick",()=>{pt||this.toggleFullScreen()}),J(p,()=>{this.toggleFullScreen()},{listenerSetter:this.listenerSetter}),pg(t,()=>this._onFullScreen(p),n),this._onFullScreen(p,!0),m&&n.add(s)("timeupdate",()=>{!s.paused&&!this.isPlaying&&(console.warn("video: fixing missing play event"),md(s,"play")),m.textContent=bn(s.currentTime|0)});const f=()=>{t.classList.add("played"),!pt&&!r&&c.push(()=>{this.hideControls(!0)}),Vs(c,f)};this.hadContainer&&f(),c.push(f),d.push(()=>{this.showControls(!1)}),n.add(rt)("playbackParams",()=>{this.video.dataset.startedChangingSpeed||this.playbackRateButton.controls.setPlayBackRate(rt.playbackRate)}),r&&(this.liveEl=P("Rtmp.MediaViewer.Live"),this.liveEl.classList.add("controls-live"),u.prepend(this.liveEl))}n.add(s)("play",()=>{this.setIsPlaying(!0),c.forEach(u=>u())}),n.add(s)("pause",()=>{this.setIsPlaying(!1),d.forEach(u=>u())}),l&&(s.duration||e?l.textContent=bn(Math.round(s.duration||e)):ua(s).then(()=>{l.textContent=bn(Math.round(s.duration))}))}createQualityLevelsButton(){return this.qualityLevelsButton=_T({skin:this.skin,video:this.video}),this.qualityLevelsButton.element}async loadQualityLevels(){this.qualityLevelsButton?.controls.loadQualityLevels()}checkInteraction(){return this.shouldEnableSoundOnClick?.()?(this.volumeSelector.setVolume({volume:1,muted:!1}),!0):!1}addPipListeners(e){this.listenerSetter.add(e)("enterpictureinpicture",this.onEnterPictureInPicture),this.listenerSetter.add(e)("leavepictureinpicture",this.onLeavePictureInPicture)}togglePlay(e=this.video.paused){this.video[e?"play":"pause"]()}buildControls(){const e=this.skin;if(e==="default"){const t=this.live?` `:` / `;return`
${t}
`}}cancelFullScreen(){bL()===this.wrapper&&this.toggleFullScreen()}toggleFullScreen(){const e=this.wrapper;if(Vy){const t=this.video;t.webkitEnterFullscreen(),t.enterFullscreen();return}pa()?Bh():(zy(e),this.checkInteraction())}toggleActivity(e){Ae.invokeVoid("toggleUninteruptableActivity",{activity:"UsingVideoPlayer",active:e})}isFullScreen(){return pa()}_onFullScreen(e,t){const s=pa();this.wrapper.classList.toggle("ckin__fullscreen",s),s?(e.replaceChildren(Be("smallscreen")),e.setAttribute("title","Exit Full Screen")):(e.replaceChildren(Be("fullscreen")),e.setAttribute("title","Full Screen")),!t&&this.onFullScreen?.(s)}dimBackground(){this.wrapper.classList.add("dim-background")}setTimestamp(e){on(this.video,e),this.togglePlay(!0)}cleanup(){super.cleanup(),this.listenerSetter.removeAll(),this.progress?.removeListeners(),this.volumeSelector?.removeListeners(),this.qualityLevelsButton?.dispose(),this.playbackRateButton?.dispose(),this.speedDragHandler?.dispose(),this.onPlaybackRateMenuToggle=this.onPip=this.onVolumeChange=this.onFullScreen=this.onFullScreenToPip=this.shouldEnableSoundOnClick=void 0,this.progress?.cleanup(),this.toggleActivity(!1)}unmount(){[this.mainToggle,this.gradient,this.controls].forEach(e=>{e.remove()})}setupLiveMenu(e){this.liveMenuButton=ki({direction:"top-left",buttons:e,buttonOptions:{noRipple:!0}}),this.wrapper.querySelector(".right-controls").prepend(this.liveMenuButton)}updateLiveViewersCount(e){this.wrapper.querySelector(".left-controls-watching").replaceChildren(P("Rtmp.Watching",[hb(Math.max(1,e))]))}get inPip(){return this._inPip}}const VT=50*1024*1024,zT=!1;let Ha=0;st.addEventListener("changeScreen",(a,e)=>{if(e===fn.mobile||a===fn.mobile){const t=Array.from(document.querySelectorAll(".media-round .progress-ring")),s=st.active.round.width,i=s/2,n=i-7;Ha=2*Math.PI*n,t.forEach(r=>{r.setAttributeNS(null,"width",""+s),r.setAttributeNS(null,"height",""+s);const o=r.firstElementChild;o.setAttributeNS(null,"cx",""+i),o.setAttributeNS(null,"cy",""+i),o.setAttributeNS(null,"r",""+n),o.style.strokeDasharray=Ha+" "+Ha,o.style.strokeDashoffset=""+Ha})}});let Ud=!1;async function Xa({doc:a,altDoc:e,container:t,message:s,boxWidth:i,boxHeight:n,withTail:r,isOut:o,middleware:l,lazyLoadQueue:c,noInfo:d,group:u,onlyPreview:h,noPreview:p,withoutPreloader:m,loadPromises:g,noPlayButton:f,photoSize:v,videoSize:y,searchContext:w,autoDownload:b,managers:S=I.managers,noAutoplayAttribute:_,ignoreStreaming:M,canAutoplay:C,useBlur:L,observer:E,setShowControlsOn:x,uploadingFileName:R,onGlobalMedia:B,onLoad:N}){const G=a.supportsStreaming&&!M;!G&&e&&!h&&!wL&&(a=e,e=void 0),a.type==="gif"&&t&&(t.classList.add("media-gif-wrapper"),t.dataset.docId=""+a.id);const O=b?.video;let $=O===0;const H=!(i&&n);C??(C=(a.type!=="video"||a.size<=VT&&!H)&&(a.type==="gif"?wt.isAvailable("gif"):wt.isAvailable("video")));let D,U,j=!1,q,W;if(!d&&t){D=document.createElement("span"),D.classList.add("video-time"),t.append(D);let fe=!1;a.type!=="gif"?(D.innerText=bn(a.duration,!1),!f&&a.type!=="round"&&(C&&!$?(E&&zT&&(j=!0,W=l,q=Ht(),l=q.get()),D.append(Be("nosound","video-time-icon"))):fe=!0)):(D.innerText="GIF",!C&&!f&&(fe=!0,$=void 0)),fe&&(U=ot("btn-circle video-play position-center",{icon:"largeplay",noRipple:!0}),t.append(U))}const ee={};if(a.mime_type==="image/gif"){const fe=await Bi({photo:a,message:s,container:t,boxWidth:i,boxHeight:n,withTail:r,isOut:o,lazyLoadQueue:c,middleware:l,withoutPreloader:m,loadPromises:g,autoDownloadSize:O,size:v,managers:S,useBlur:L,uploadingFileName:R});return ee.thumb=fe,ee.loadPromise=fe.loadPromises.full,ee}let z;const Z=Do({middleware:l,pip:j});if(Z.classList.add("media-video"),Z.muted=!0,a.type==="round"){const fe=document.createElement("div");fe.classList.add("media-round","z-depth-1"),fe.dataset.mid=""+s.mid,fe.dataset.peerId=""+s.peerId,fe.message=s;const Xe=st.active.round,Ye=Xe.width/2,Ze=3.5,Je=Ye-Ze*2;fe.innerHTML=` `;const tt=fe.firstElementChild.firstElementChild;Ha||(Ha=2*Math.PI*Je),tt.style.strokeDasharray=Ha+" "+Ha,tt.style.strokeDashoffset=""+Ha,s.pFlags.media_unread&&fe.classList.add("is-unread");const Ee=document.createElement("canvas");Ee.classList.add("video-round-canvas"),Ee.width=Ee.height=a.w,fe.prepend(Ee,D),fe.append(Z),t?.append(fe);const ve=Ee.getContext("2d"),Qe=()=>{const A=fe.message,F=rt.addMedia(A,!$);B?.(F);const Q=()=>{(Ce.chat.setPeerPromise||Promise.resolve()).finally(()=>{mr(F)||(F.removeEventListener("play",xe),F.removeEventListener("timeupdate",he),F.removeEventListener("pause",lt),F.removeEventListener("ended",mt))})},X=()=>{ve.drawImage(F,0,0);const at=Ha-F.currentTime/F.duration*Ha;return tt.style.strokeDashoffset=""+at,!F.paused},ge=()=>{if(F.duration){if(!mr(F)){Q();return}F.paused&&X(),D.firstChild.nodeValue=bn(F.duration-F.currentTime,!1)}},he=fa(()=>{$s(ge)},1e3,!1),Le=Be("nosound","video-time-icon"),Se=at=>{fe.classList.toggle("is-paused",at),at?D.append(Le):Le.remove()},xe=()=>{Z.classList.add("hide"),Se(!1),Wl(X,Ee),z?.preloader&&z.preloader.classList.contains("manual")&&z.onClick()},lt=()=>{if(!mr(F)){Q();return}Se(!0)},mt=()=>{Z.classList.remove("hide"),Se(!0),on(Z,0),D.firstChild.nodeValue=bn(F.duration,!1),F.currentTime&&on(F,0)};F.addEventListener("play",xe),F.addEventListener("timeupdate",he),F.addEventListener("pause",lt),F.addEventListener("ended",mt),J(Ee,at=>{if(_e(at),z&&!z.detached&&z.onClick(),F.paused){const kt=!!w;if(rt.setSearchContext(w||{peerId:Wt,inputFilter:{_:"inputMessagesFilterEmpty"},useSearch:!1})){const[Us,Ts]=kt?h1(fe,A.mid):[];rt.setTargets({peerId:A.peerId,mid:A.mid},Us,Ts)}Sn(F)}else F.pause()}),F.paused?F.duration&&F.currentTime!==F.duration&&F.currentTime>0?(X(),ge(),Z.classList.add("hide")):lt():xe()};s.pFlags.is_outgoing?(fe.onLoad=Qe,fe.dataset.isOutgoing="1"):Qe()}else _||(Z.autoplay=!0);let de;if(s||h){if(de=await Bi({photo:a,message:s,container:t,boxWidth:i,boxHeight:n,withTail:r,isOut:o,lazyLoadQueue:c,middleware:l,withoutPreloader:!0,loadPromises:g,autoDownloadSize:b?.photo,size:v,managers:S,useBlur:L,canHaveVideoPlayer:j,uploadingFileName:R}),ee.thumb=de,!C&&a.type!=="gif"||h)return ee.loadPromise=de.loadPromises.full,ee;if(r){const fe=(de.images.thumb||de.images.full).parentElement;Z.width=+fe.getAttributeNS(null,"width"),Z.height=+fe.getAttributeNS(null,"height"),fe.append(Z)}}else if(!p){const fe=zh({photo:a,cacheContext:{},useBlur:L||!0});if(fe){const Xe=fe.image;Xe.classList.add("media-poster"),t?.append(Xe),ee.thumb={loadPromises:{thumb:fe.loadPromise,full:Promise.resolve()},images:{thumb:Xe,full:null},preloader:null,aspecter:null},g?.push(fe.loadPromise),ee.loadPromise=fe.loadPromise}}if(h)return ee;const ie=()=>{(de?.aspecter||t).append(Z)};!Z.parentElement&&t&&Z.poster&&ie();let oe,ae;const ke=()=>{oe=Ae.getCacheContext(a,y?.type),e&&(ae=Ae.getCacheContext(e,y?.type))};ke(),R??(R=s?.uploadingFileName?.[0]),R?(z=new Kn({attachMethod:"prepend",isUpload:!0}),z.attachPromise(fs.getUpload(R)),z.attach(t,!1),$=void 0):!oe.downloaded&&!G&&!m?z=new Kn({attachMethod:"prepend"}):G&&!m&&(z=new Kn({cancelable:!1,attachMethod:"prepend"}));const re=Mt();if(Z.addEventListener("error",fe=>{WC(fe)||(Z.error.code!==4&&console.error("Error "+Z.error.code+"; details: "+Z.error.message),z&&!R&&z.detach(),re.isFulfilled||re.resolve())},{once:!0}),a.type==="video"&&D){const fe=()=>{Z.duration&&(D.firstChild.nodeValue=bn(Z.duration-Z.currentTime,!1))},Xe=fa(()=>{$s(fe)},1e3,!1);Z.addEventListener("timeupdate",Xe),U&&Z.addEventListener("timeupdate",()=>{lm.mutateElement(U,()=>{U.remove()})},{once:!0})}Z.muted=!0,Z.loop=!0,_||(Z.autoplay=!0);let ce=$&&de?.preloader?.loadFunc;const Ie=async()=>{z&&$&&!m&&(z.construct(),z.setManual()),ke();let fe=Promise.resolve();if(z&&!R||m)if(!oe.downloaded&&!G){const Xe=fe=fs.downloadMediaURL({media:a,queueId:c?.queueId,onlyCache:$,thumb:y});z&&z.attach(t,!1,Xe)}else G&&($?fe=Promise.reject(Vo("NO_AUTO_DOWNLOAD")):!oe.downloaded&&z&&(z.attach(t,!1,null),Z.addEventListener(dn?"timeupdate":"canplay",()=>{z.detach()},{once:!0})));return!$&&ce&&(ce(),ce=null),$=void 0,fe.then(async()=>{if(l&&!l()){re.resolve();return}a.type==="round"&&rt.resolveWaitingForLoadMedia(s.peerId,s.mid,s.pFlags.is_scheduled),ke();const Xe=Je=>{if(console.error("video load error",Z,Je),D){D.classList.add("is-error");const tt=D.querySelector(".video-time-icon"),ht=Be("sendingerror","video-time-icon");tt?tt.replaceWith(ht):D.append(ht)}re.reject(Je)},Ye=ua(Z),Ze=mg(Z,Ye);if(Ze.catch(Xe),Ye.then(()=>{u&&Ut.addAnimation({animation:Z,group:u,observeElement:Z,type:"video",locked:j}),z&&!R&&z.detach(),!Z.parentElement&&t&&!Z.poster&&ie(),e?(Ze.then(()=>{Z.pause(),re.resolve()}),on(Z,1e-4)):re.resolve(),Ve?.(),N?.()},Xe),e&&ae){const Je=[{context:oe,type:'video/mp4; codecs="hev1"',width:a.w},{context:ae,type:'video/mp4; codecs="avc1.64001E"',width:e.w}].map(({context:tt,type:ht,width:Ee})=>{const ve=document.createElement("source");return ve.src=tt.url,ve.width=Ee,ve});Z.append(...Je),Z.load()}else Ka(Z,oe.url)},as),{download:fe,render:Promise.all([fe,re])}};z&&!R&&z.setDownloadFunction(Ie),t&&(t.preloader=z),a.type==="gif"&&!C?J(t,fe=>{_e(fe),U.remove(),Ie()},{capture:!0,once:!0}):ee.loadPromise=c?(c.push({div:t,load:()=>Ie().then(({render:fe})=>fe)}),Promise.resolve()):(await Ie()).render,ee.thumb&&await ee.thumb.loadPromises.thumb,Z&&(ee.video=Z);const Ve=j?()=>{Z.mini=!0,Z.pause();const fe=Ee=>{Ee.isIntersecting||Xe(),!Ee.isIntersecting&&Z.muted};t.classList.add("media-video-container","media-video-mini"),E.observe(Z,fe);const Xe=()=>{Ye.clearTimeout(),!(!Ze||!l()||pa()||Ze.inPip)&&(Ze.unmount(),Ze.cleanup(),Ze=void 0,x.classList.remove("show-controls"))},Ye=$i(Xe,1e3,!1,!0);let Ze,Je;t.onMiniVideoMouseMove=Ee=>{if(Ze)return;const ve=F=>{F?Je=Mt():Je?.resolve()},Qe=F=>{if(A&&A--)return;const Q=Ut.getAnimations(Z)[0];Ut.toggleItemLock(Q,F),ve(F)};let A=0;Ze=new p1({video:Z,container:t,duration:Z.duration,streamable:!0,listenKeyboardEvents:"fullscreen",useGlobalVolume:"no-init",onVolumeChange:F=>{const Q=!Z.volume||Z.muted;let X;Q?X=Ud=!1:F==="click"&&(X=Ud=!0),X!==Ud&&X!==void 0&&rt.dispatchEvent("toggleVideoAutoplaySound",X)},onFullScreen:F=>{Qe(F),vn.isDarkOverlayActive=F},onFullScreenToPip:()=>{A=2},onPip:Qe}),Ze.volumeSelector.setVolume({muted:!Ud,volume:Z.volume}),Ze.addEventListener("toggleControls",F=>{x.classList.toggle("show-controls",F),F?Ye.clearTimeout():Ye()})};const tt=Ee=>{Ze||(Z.muted=rt.muted,Z.volume=rt.volume)},ht=Ee=>{Ze||(Z.muted=Ud?Ee.muted:!0,Z.playbackRate=Ee.playbackRate,Z.volume=Ee.volume)};rt.addEventListener("toggleVideoAutoplaySound",tt),rt.addEventListener("playbackParams",ht),l.onClean(()=>{E.unobserve(Z,fe),delete t.onMiniVideoMouseMove,rt.removeEventListener("toggleVideoAutoplaySound",tt),rt.removeEventListener("playbackParams",ht)}),W.onClean(async()=>{await Je,q.destroy()})}:void 0;return ee}let Ef=!1;function _d({listenTo:a,listenerSetter:e,selector:t,findTarget:s,getTextColor:i}){if(pt)return;const n=(o,l)=>{let c;if(s)c=s(o);else{const d=t||".media-sticker-wrapper, .media-gif-wrapper";c=o.target.closest(d)}return c&&(!l||Mi(c,a))?c:void 0},r=I.managers;e.add(a)("mousedown",o=>{if(Ef||o.buttons>1||o.button!==0)return;let l=n(o);if(!l)return;const c=l.dataset.docId;if(!c)return;const d="sticker-viewer",u="STICKER-VIEWER",h=200,p=200,m=Ut.getOnlyOnePlayableGroup(),g=Ht();let f,v,y=!1;const w=async({mediaContainer:C,doc:L,middleware:E,lockGroups:x,isSwitching:R})=>{const B=L.type==="gif",N=B?void 0:ql(L),G=C.getBoundingClientRect(),O=ii(L.w,L.h),$=N?280:B?Math.min(480,It.height-200):360,H=ii($,$),D=G.width===G.height?H:O.aspectFitted(H),U=ne(C,"bubble"),j=U?U.classList.contains("is-out"):!0,q=document.createElement("div");q.classList.add(d+"-transformer"),q.middlewareHelper=E.create(),E=q.middlewareHelper.get();const W=document.createElement("div");W.classList.add(d+"-sticker"),W.style.width=D.width+"px",W.style.height=D.height+"px";const ee=document.createElement("div");if(ee.classList.add(d+"-emoji"),ee.append(je(L.stickerEmojiRaw)),N){const fe=($*KC-$)/3*(j?1:-1);q.classList.add("has-effect"),q.style.setProperty("--translateX",`${fe}px`),ee.style.setProperty("--translateX",`${-fe}px`)}const z=ne(C,"scrollable"),Z=Ko(C,z,!0,G);(Z.overflow.vertical||Z.overflow.horizontal)&&W.classList.add("is-overflow");const de=C.getBoundingClientRect(),ie=de.width/D.width,oe=de.height/D.height,ae=de.left-(It.width-de.width)/2,ke=de.top-(It.height-de.height)/2;q.style.transform=`translate(${ae}px, ${ke}px) scale(${ie}, ${oe})`,R&&q.classList.add("is-switching"),q.append(W,ee),f.append(q);const re=L.attributes.find(fe=>fe._==="documentAttributeCustomEmoji"),ce=B?await Xa({doc:L,container:W,group:u,boxWidth:D.width,boxHeight:D.height,canAutoplay:!0,middleware:E,noInfo:!0}).then(async fe=>(await fe.loadPromise,fe.video)):await ai({doc:L,div:W,group:u,width:D.width,height:D.height,play:!1,loop:!0,middleware:E,managers:r,needFadeIn:!1,isOut:j,withThumb:!1,relativeEffect:!0,loopEffect:!0,textColor:re&&re.pFlags.text_color?i?.()||du:void 0}).then(({render:fe})=>fe);if(!E())return;f.parentElement||document.body.append(f);const Ie=Array.isArray(ce)?ce[0]:ce,Ve=Ie instanceof Up?new Promise(fe=>Ie.addEventListener("firstFrame",fe,{once:!0})):Promise.resolve();if(await Promise.all([Ve,hi()]),await ns(0),!!E()){if(x&&(Ut.setOnlyOnePlayableGroup(u),Ut.checkAnimations2(!0)),Ie instanceof Up){const fe=C instanceof Wy?C.player:Ns.getAnimation(C);if(fe){if(Ie.curFrame=fe.curFrame,Ie.play(),await new Promise(Xe=>{let Ye=0;const Ze=()=>{++Ye===2&&(Xe(),Ie.removeEventListener("enterFrame",Ze))};Ie.addEventListener("enterFrame",Ze)}),!E())return;Ie.pause()}}else if(Ie instanceof HTMLVideoElement){const fe=C.querySelector("video");fe&&(Ie.currentTime=fe.currentTime)}return{ready:()=>{(Ie instanceof Up||Ie instanceof HTMLVideoElement)&&Sn(Ie),N&&Xs(W)},transformer:q}}},b=window.setTimeout(async()=>{document.removeEventListener("mousemove",_),f=document.createElement("div"),f.classList.add(d),Ef=!0;const C=g.get(),L=await r.appDocsManager.getDoc(c);if(!C())return;let E;try{if(E=await w({doc:L,mediaContainer:l,middleware:C,lockGroups:!0}),!E)return}catch{return}if(y)return;const{ready:x,transformer:R}=E;v=R,Dt({element:f,className:"is-visible",forwards:!0,duration:h,onTransitionEnd:()=>{C()&&x()}}),document.addEventListener("mousemove",S)},125),S=async C=>{const L=n(C,!0);if(!L||l===L)return;const E=L.dataset.docId;if(!E)return;l=L,g.clean();const x=g.get(),R=await r.appDocsManager.getDoc(E);if(!x())return;let B;try{if(B=await w({doc:R,mediaContainer:l,middleware:x,isSwitching:!0}),!B)return}catch($){console.error("sticker viewer error",$);return}const{ready:N,transformer:G}=B,O=v;Dt({element:O,className:"is-switching",forwards:!0,duration:p,onTransitionEnd:()=>{O.remove(),O.middlewareHelper.destroy()}}),v=G,Dt({element:G,className:"is-switching",forwards:!1,duration:p,onTransitionEnd:()=>{x()&&N()}})},_=C=>{Mi(C.target,l)||M()},M=()=>{y=!0,clearTimeout(b),f&&(Dt({element:f,className:"is-visible",forwards:!1,duration:h,onTransitionEnd:()=>{f.remove(),Ut.setOnlyOnePlayableGroup(m),Ut.checkAnimations2(!1),g.destroy(),Ef=!1}}),J(document.body,_e,{capture:!0,once:!0})),document.removeEventListener("mousemove",_),document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",M,{capture:!0})};document.addEventListener("mousemove",_),document.addEventListener("mouseup",M,{once:!0,capture:!0})})}const kf="STICKERS-POPUP";class ga extends ue{constructor(e,t,s=Ce.chat?.input){super("popup-stickers",{closable:!0,overlayClosable:!0,body:!0,scrollable:!0,title:!0,footer:!0}),this.stickerSetInput=e,this.isEmojis=t,this.chatInput=s,this.onStickersClick=async o=>{if(!this.chatInput.chat.peerId)return;const l=ne(o.target,"sticker-set-sticker")||ne(o.target,"custom-emoji");if(!l)return;const c=l.dataset.docId;let d;if(this.isEmojis&&(d={docId:c,emoji:l.dataset.stickerEmoji},!this.chatInput.emoticonsDropdown.canUseEmoji(d,!0)))return;(this.isEmojis?this.chatInput.onEmojiSelected(d,!1):await Ce.chat.input.sendMessageWithDocument({document:c,target:l}))&&this.hide()},this.title.append(P("Loading")),this.updateAdded={},Gn.setIgnoreMouseOut("popup",!0),this.addEventListener("close",()=>{Gn.setIgnoreMouseOut("popup",!1),Ut.setOnlyOnePlayableGroup()}),this.appendTo=this.scrollable.container,this.appendTo.classList.add("is-loading"),Yn(this.appendTo,!0);const i=ot("btn-primary btn-primary-transparent disable-hover",{noRipple:!0,text:"Loading"});this.footer.append(i),_d({listenTo:this.appendTo,listenerSetter:this.listenerSetter});const n=o=>{const l=this.sets.findIndex(d=>d.id===o.id);if(l===-1)return;this.sets[l]=o;const c=this.updateAdded[o.id];c?.(!!o.installed_date),this.updateButton()};this.listenerSetter.add(I)("stickers_installed",n),this.listenerSetter.add(I)("stickers_deleted",n);const r=o=>{const l=tp(this.container,o);if(l)return this.addEventListener("closeAfterTimeout",l),this.hide(),!1};this.container.addEventListener("click",r,{capture:!0}),this.middlewareHelper.onDestroy(()=>{this.container.removeEventListener("click",r,{capture:!0})}),this.loadStickerSet()}createStickerSetElements(e){const t=document.createElement("div");t.classList.add("sticker-set");let s,i;e&&(s=new Fe({title:jt(e.title),subtitle:P(e.pFlags.emojis?"EmojiCount":"Stickers",[e.count]),buttonRight:!0}),i=r=>{St(s.buttonRight,P(r?"Stickers.SearchAdded":"Stickers.SearchAdd")),s.buttonRight.classList.toggle("active",r)},i(!!e.installed_date),t.append(s.container));const n=document.createElement("div");return n.classList.add("sticker-set-stickers"),t.append(n),{container:t,headerRow:s,updateAdded:i,itemsContainer:n}}async loadStickerSet(){const e=this.middlewareHelper.get(),s=GC(this.stickerSetInput).map(g=>this.managers.appStickersManager.getStickerSet(g));let i=await Promise.all(s);if(!e())return;let n=i[0];if(i.length===1&&!n){$e({langPackKey:this.isEmojis?"AddEmojiNotFound":"StickerSet.DontExist"}),this.hide();return}i=i.filter(Boolean),n=i[0],this.sets=i.map(g=>g.set);const r=this.isEmojis??(this.isEmojis=!!n.set.pFlags.emojis);J(this.appendTo,this.onStickersClick,{listenerSetter:this.listenerSetter});const{destroy:o}=o1({listenTo:this.appendTo,chatInput:this.chatInput,isPack:!0,isEmojis:r,onSend:()=>this.hide()});this.addEventListener("close",o),Ut.setOnlyOnePlayableGroup(kf);const l=new sr,c=[],d=i.map(async g=>{const{container:f,itemsContainer:v,headerRow:y,updateAdded:w}=this.createStickerSetElements(i.length>1?g.set:void 0);y&&J(y.buttonRight,()=>{this.managers.appStickersManager.toggleStickerSet(g.set)},{listenerSetter:this.listenerSetter}),this.updateAdded[g.set.id]=w;let b;const S=g.documents.filter(_=>_?._==="document");if(r){const _=ab({docIds:S.map(M=>M.id),loadPromises:c,animationGroup:kf,customEmojiSize:st.active.esgCustomEmoji,middleware:e});Array.from(_.children).slice(1).forEach(M=>{const C=document.createElement("span");C.classList.add("super-emoji","super-emoji-custom"),M.replaceWith(C),C.append(M)}),b=[_],v.classList.replace("sticker-set-stickers","super-emojis"),v.classList.add("is-emojis")}else b=await Promise.all(S.map(async _=>{const M=document.createElement("div");M.classList.add("sticker-set-sticker");const C=st.active.popupSticker.width;return await ai({doc:_,div:M,lazyLoadQueue:l,group:kf,play:!0,loop:!0,width:C,height:C,withLock:!0,loadPromises:c,middleware:e}),M}));return v.append(...b.filter(Boolean)),f}),u=await Promise.all(d);await Promise.all(c);const h=this.button=ot("",{noRipple:!0});this.updateButton(),J(h,()=>{const g=os([h],!0);this.managers.appStickersManager.toggleStickerSets(i.map(f=>f.set)).then(()=>{this.hide()}).catch(()=>{g()})},{listenerSetter:this.listenerSetter}),i.length===1?Qt(this.title,jt(n.set.title)):Qt(this.title,P("Emoji"));const p=[{icon:"copy",text:"CopyLink",onClick:()=>{const g=`https://t.me/${this.isEmojis?"addemoji":"addstickers"}/`,f=i.map(v=>g+v.set.short_name).join(` `);si(f)}}];_n&&p.push({icon:"download",text:"MediaViewer.Context.Download",onClick:async()=>{for(const g of i)for(const f of g.documents)fs.downloadToDisc({media:f}),await ns(100)}});const m=ki({listenerSetter:this.listenerSetter,buttons:p,direction:"bottom-left"});this.title.after(m),this.footer.textContent="",this.footer.append(h),this.appendTo.classList.remove("is-loading"),this.appendTo.textContent="",this.appendTo.append(...u),this.scrollable.onAdditionalScroll()}updateButton(){const{sets:e,isEmojis:t}=this;let s,i;if(e.length===1){const n=e[0];i=P(t?"EmojiCount":"Stickers",[n.count]),s=!n.installed_date}else{const n=e.filter(o=>o.installed_date);let r;e.length===n.length?(s=!1,r=e.length):(s=!0,r=e.length-n.length),i=P("EmojiPackCount",[r])}this.button.className=s?"btn-primary btn-color-primary":"btn-primary btn-primary-transparent danger",St(this.button,P(s?"AddStickersCount":"RemoveStickersCount",[i]))}}const Ur={Stickers:{getElementMediaSize:()=>st.active.esgSticker,padding:3*2,gapX:4,gapY:4,itemsClassName:"super-stickers"},Emoji:{getElementMediaSize:()=>X9,padding:16,gapX:4,gapY:0,itemsClassName:"super-emojis"},GIF:{getElementMediaSize:()=>ii(124,124),padding:4,gapX:2,gapY:2,itemsClassName:"emoticons-gifs"}};class WT{constructor(e){const t=document.createElement("div");t.classList.add("emoji-category");const s=document.createElement("div");s.classList.add("category-items");let i;e.title&&(i=document.createElement("div"),i.classList.add("category-title"),i.append(e.title));let n,r;e.noMenuTab||(n=yt(void 0,{noRipple:!0}),n.classList.add("menu-horizontal-div-item"),r=document.createElement("div"),r.classList.add("menu-horizontal-div-item-padding"),n.append(r)),i&&t.append(i),t.append(s),this.elements={container:t,title:i,items:s,menuTab:n,menuTabPadding:r},this.id=e.id,this.items=[],this.getContainerSize=e.getContainerSize,this.getElementMediaSize=e.styles.getElementMediaSize,this.gapX=e.styles.gapX??0,this.gapY=e.styles.gapY??0,this.middlewareHelper=e.middleware?e.middleware.create():Ht()}setCategoryItemsHeight(e=this.items.length){const{width:t}=this.getContainerSize(),s=this.getElementMediaSize().width;let i=t/s;this.gapX&&(i-=Math.floor(i-1)*this.gapX/s),i=Math.floor(i);const n=Math.ceil(e/i);let r=n*s;this.gapY&&(r+=(n-1)*this.gapY),this.elements.items.style.minHeight=r+"px"}}function Lb(a,e){const t=Ot(a),{onChange:s}=e;let i=new Set(e.appear?void 0:t);const n=new WeakSet,[r,o]=K([],{equals:!1}),[l]=CL(),c=e.exitMethod==="remove"?as:h=>{o(p=>(p.push(...h),p));for(const p of h)n.delete(p)};let d;return e.exitMethod==="remove"?d=as:e.exitMethod==="keep-index"?d=h=>h.elements.splice(h.previousIndex,0,h.element):e.exitMethod==="keep-relative"?d=h=>{let p;h.side==="start"?p=h.previousIndex:p=h.elements.length,h.elements.splice(p,0,h.element)}:d=h=>h.elements.push(h.element),V(h=>{const p=r(),m=a();if(m[SL],Ot(l))return l(),h;if(p.length){const g=h.filter(f=>!p.includes(f));return p.length=0,s({list:g,added:[],removed:[],unchanged:g,finishRemoved:c}),g}return Ot(()=>{const g=new Set(m),f=m.slice(),v=[],y=[],w=[];for(const _ of m)(i.has(_)?w:v).push(_);const b={elements:f,previousElements:h,side:"start"};let S=!v.length;for(let _=0;_a:a}function jT(a){const e=yd(()=>a.children).toArray,t=a.itemClassName?i=>{i.forEach(n=>{n.classList.add(a.itemClassName)})}:void 0;return t?.(e()),Lb(e,{exitMethod:"keep-index",appear:a.appear,onChange:({added:i,removed:n,finishRemoved:r})=>{const o=a.animationOptions;wt.isAvailable("animations")||(o.duration=0),t?.(i);const l=KT(a.keyframes);let c=!1,d=!1;a.mode==="replacement"?(c=!!n.length,d=!!i.length):a.mode==="remove"?d=!!n.length:a.mode==="add-remove"&&(c=!!i.length,d=!!n.length),queueMicrotask(()=>{if(c){const p=i.map(m=>l(m));i.forEach((m,g)=>{m.animate(p[g],o)})}if(!d){r(n);return}const u=n.map(p=>l(p).slice().reverse()),h=[];n.forEach((p,m)=>{const g=p.animate(u[m],o);h.push(g.finished)}),Promise.all(h).then(()=>r(n))})}})}const qT={"cross-fade":[{opacity:0},{opacity:1}],"grow-width":a=>{const{clientWidth:e}=a;return[{width:0,opacity:0},{width:e+"px",opacity:1}]}};function YT(a){return T(jT,{animationOptions:{duration:200,easing:"cubic-bezier(.4, .0, .2, 1)"},get keyframes(){return a.keyframes},get mode(){return a.mode||"replacement"},itemClassName:"animated-item",get appear(){return a.appear},get children(){return a.children}})}function Yo(a){return T(Ru,{component:YT,get keyframes(){return qT[a.type]},get mode(){return a.mode},get appear(){return a.appear},get children(){return a.children}})}const QT="_Viewer_13e91_41",XT="_isInvisible_13e91_53",ZT="_isFull_13e91_60",JT="_ViewerBackground_13e91_60",ex="_isReady_13e91_63",tx="_ViewerStoryContainer_13e91_68",sx="_fromLeft_13e91_79",ix="_current_13e91_82",nx="_fromRight_13e91_90",ax="_ViewerStory_13e91_68",rx="_fadeIn_13e91_148",ox="_small_13e91_151",lx="_hideOnSmall_13e91_155",cx="_hold_13e91_158",dx="_ViewerStoryContentMediaContainer_13e91_162",hx="_ViewerStoryInfo_13e91_168",ux="_focused_13e91_174",px="_ViewerStorySlides_13e91_177",mx="_ViewerStorySlidesSlide_13e91_186",gx="_ViewerStoryHeader_13e91_205",fx="_ViewerStoryHeaderAvatar_13e91_217",vx="_ViewerStoryHeaderName_13e91_224",yx="_ViewerStoryHeaderTime_13e91_224",bx="_ViewerStoryHeaderSecondary_13e91_232",wx="_hasRepost_13e91_242",Sx="_ViewerStoryHeaderLeft_13e91_247",Cx="_ViewerStoryHeaderRight_13e91_247",_x="_ViewerStoryHeaderInfo_13e91_261",Ix="_ViewerStoryHeaderRow_13e91_265",Px="_ViewerStoryHeaderRepost_13e91_272",Mx="_ViewerStoryHeaderRepostTitle_13e91_282",Lx="_ViewerStoryPrivacy_13e91_287",Ex="_ViewerStoryContent_13e91_162",kx="_ViewerStoryContentItem_13e91_310",Tx="_ViewerStoryContentMedia_13e91_162",xx="_ViewerStoryFooter_13e91_323",Ax="_ViewerStoryFooterLeft_13e91_342",Rx="_ViewerStoryFooterRight_13e91_342",Fx="_ViewerStoryFooterIcon_13e91_346",Bx="_ViewerStoryFooterIconIcon_13e91_350",Dx="_ViewerStoryFooterReaction_13e91_354",$x="_isReacted_13e91_363",Nx="_isMe_13e91_376",Ox="_isChangelog_13e91_379",Ux="_ViewerStoryShadow_13e91_383",Hx="_hasCaption_13e91_389",Gx="_ViewerStoryInfoAvatar_13e91_407",Vx="_ViewerStoryInfoName_13e91_411",zx="_ViewerStoryCaption_13e91_424",Wx="_hasReply_13e91_448",Kx="_ViewerStoryCaptionText_13e91_451",jx="_ViewerStoryCaptionTextCell_13e91_460",qx="_ViewerStoryMediaArea_13e91_465",Yx="_ViewerStoryMediaAreaReaction_13e91_475",Qx="_ViewerStoryMediaAreaReactionBubbles_13e91_481",Xx="_dark_13e91_489",Zx="_ViewerStoryMediaAreaReactionBubble_13e91_481",Jx="_ViewerStoryMediaAreaReactionInner_13e91_508",e2="_hasCount_13e91_519",t2="_ViewerStoryMediaAreaReactionCount_13e91_525",s2="_ViewerStoryMediaAreas_13e91_541",i2="_ViewerStoryReactions_13e91_548",n2="_ViewerStoryRepost_13e91_577",a2="_ViewerStoryRepostSmall_13e91_582",r2="_ViewerClose_13e91_775",o2="_noSound_13e91_785",He={Viewer:QT,isInvisible:XT,isFull:ZT,ViewerBackground:JT,isReady:ex,ViewerStoryContainer:tx,fromLeft:sx,current:ix,fromRight:nx,ViewerStory:ax,fadeIn:rx,small:ox,hideOnSmall:lx,hold:cx,ViewerStoryContentMediaContainer:dx,ViewerStoryInfo:hx,focused:ux,ViewerStorySlides:px,ViewerStorySlidesSlide:mx,ViewerStoryHeader:gx,ViewerStoryHeaderAvatar:fx,ViewerStoryHeaderName:vx,ViewerStoryHeaderTime:yx,ViewerStoryHeaderSecondary:bx,hasRepost:wx,ViewerStoryHeaderLeft:Sx,ViewerStoryHeaderRight:Cx,ViewerStoryHeaderInfo:_x,ViewerStoryHeaderRow:Ix,ViewerStoryHeaderRepost:Px,ViewerStoryHeaderRepostTitle:Mx,ViewerStoryPrivacy:Lx,ViewerStoryContent:Ex,ViewerStoryContentItem:kx,ViewerStoryContentMedia:Tx,ViewerStoryFooter:xx,ViewerStoryFooterLeft:Ax,ViewerStoryFooterRight:Rx,ViewerStoryFooterIcon:Fx,ViewerStoryFooterIconIcon:Bx,ViewerStoryFooterReaction:Dx,isReacted:$x,isMe:Nx,isChangelog:Ox,ViewerStoryShadow:Ux,hasCaption:Hx,ViewerStoryInfoAvatar:Gx,ViewerStoryInfoName:Vx,ViewerStoryCaption:zx,hasReply:Wx,ViewerStoryCaptionText:Kx,ViewerStoryCaptionTextCell:jx,ViewerStoryMediaArea:qx,ViewerStoryMediaAreaReaction:Yx,ViewerStoryMediaAreaReactionBubbles:Qx,dark:Xx,ViewerStoryMediaAreaReactionBubble:Zx,ViewerStoryMediaAreaReactionInner:Jx,hasCount:e2,ViewerStoryMediaAreaReactionCount:t2,ViewerStoryMediaAreas:s2,ViewerStoryReactions:i2,ViewerStoryRepost:n2,ViewerStoryRepostSmall:a2,ViewerClose:r2,noSound:o2};function l2(a,e){return e*(--a*a*a+1)}class m1 extends Yt{constructor(e){super(e),this.input.addEventListener("input",()=>{this.updateInnerHTML(),this.onFakeInput()}),this.input.classList.add("scrollable","scrollable-y","no-scrollbar"),this.inputFake=document.createElement("div"),this.inputFake.contentEditable="true",this.inputFake.tabIndex=-1,this.inputFake.className=this.input.className+" input-field-input-fake"}onFakeInput(e=!0,t){const{scrollHeight:s}=this.inputFake;t??(t=!this.input.isContentEditable);const i=+this.input.style.height.replace("px","");if(i===s)return;const r=t?0:Math.round(50*Math.log(Math.abs(s-i)));this.input.style.transitionDuration=`${r}ms`,e&&(this.onChangeHeight?.(s),this.input.style.height=s?s+"px":"",this.input.oldHeight=this.input.newHeight,this.input.newHeight=s,Array.from(this.input.querySelectorAll(".quote-like")).forEach(l=>{const c=l.scrollHeight,d=getComputedStyle(l),u=parseFloat(d.lineHeight),h=parseFloat(d.paddingTop),p=parseFloat(d.paddingBottom),m=(c-h-p)/u;l.classList.toggle("can-send-collapsed",m>3)}));const o="is-changing-height";Dt({element:this.input,className:o,forwards:!0,duration:r,onTransitionEnd:()=>{this.input.classList.remove(o),this.input.oldHeight=this.input.newHeight}})}updateInnerHTML(e=this.input.innerHTML){e=e.replace(//,"").replace(/().+?\/custom-emoji-element>/g,"$1"),this.inputFake.innerHTML=e}setValueSilently(e,t){super.setValueSilently(e,t),this.updateInnerHTML(),t||this.onFakeInput()}}(function(a,e){typeof exports=="object"&&typeof module=="object"?module.exports=e():typeof define=="function"&&define.amd?define([],e):typeof exports=="object"?exports.Recorder=e():a.Recorder=e()})(typeof self<"u"?self:void 0,function(){return function(a){var e={};function t(s){if(e[s])return e[s].exports;var i=e[s]={i:s,l:!1,exports:{}};return a[s].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=a,t.c=e,t.d=function(s,i,n){t.o(s,i)||Object.defineProperty(s,i,{enumerable:!0,get:n})},t.r=function(s){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},t.t=function(s,i){if(1&i&&(s=t(s)),8&i||4&i&&typeof s=="object"&&s&&s.__esModule)return s;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:s}),2&i&&typeof s!="string")for(var r in s)t.d(n,r,function(o){return s[o]}.bind(null,r));return n},t.n=function(s){var i=s&&s.__esModule?function(){return s.default}:function(){return s};return t.d(i,"a",i),i},t.o=function(s,i){return Object.prototype.hasOwnProperty.call(s,i)},t.p="",t(t.s=0)}([function(a,e,t){(function(s){var i=s.AudioContext||s.webkitAudioContext,n=function(r){if(!n.isRecordingSupported())throw new Error("Recording is not supported in this browser");r||(r={}),this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,reuseWorker:!1,wavBitDepth:16},r),this.encodedSamplePosition=0};n.isRecordingSupported=function(){return i&&s.navigator&&s.navigator.mediaDevices&&s.navigator.mediaDevices.getUserMedia&&s.WebAssembly},n.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach(function(r){r.stop()}):this.stream.stop(),delete this.stream),this.audioContext&&this.closeAudioContext&&(this.audioContext.close(),delete this.audioContext)},n.prototype.encodeBuffers=function(r){if(this.state==="recording"){for(var o=[],l=0;l{this.encodeBuffers(r.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},n.prototype.initSourceNode=function(r){return r&&r.context?s.Promise.resolve(r):s.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(o=>(this.stream=o,this.audioContext.createMediaStreamSource(o)))},n.prototype.loadWorker=function(){this.encoder||(this.encoder=new s.Worker(this.config.encoderPath))},n.prototype.initWorker=function(){var r=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((o,l)=>{var c=d=>{switch(d.data.message){case"ready":o();break;case"page":this.encodedSamplePosition=d.data.samplePosition,r(d.data.page);break;case"done":this.encoder.removeEventListener("message",c),this.finish()}};this.encoder.addEventListener("message",c),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},n.prototype.pause=function(r){if(this.state==="recording"){if(this.state="paused",r&&this.config.streamPages){var o=this.encoder;return new Promise((l,c)=>{var d=u=>{u.data.message==="flushed"&&(o.removeEventListener("message",d),this.onpause(),l())};o.addEventListener("message",d),o.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},n.prototype.resume=function(){this.state==="paused"&&(this.state="recording",this.onresume())},n.prototype.setRecordingGain=function(r){this.config.recordingGain=r,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(r,this.audioContext.currentTime,.01)},n.prototype.setMonitorGain=function(r){this.config.monitorGain=r,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(r,this.audioContext.currentTime,.01)},n.prototype.start=function(r){if(this.state==="inactive")return this.initAudioContext(r),this.initAudioGraph(),this.encodedSamplePosition=0,this.initWorker().then(()=>this.initSourceNode(r)).then(o=>{this.sourceNode=o,this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},n.prototype.stop=function(){if(this.state!=="inactive"){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var r=this.encoder;return new Promise(o=>{var l=c=>{c.data.message==="done"&&(r.removeEventListener("message",l),o())};r.addEventListener("message",l),r.postMessage({command:"done"}),this.config.reuseWorker||r.postMessage({command:"close"})})}return Promise.resolve()},n.prototype.destroyWorker=function(){this.state==="inactive"&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},n.prototype.storePage=function(r){this.recordedPages.push(r),this.totalLength+=r.length},n.prototype.streamPage=function(r){this.ondataavailable(r)},n.prototype.finish=function(){if(!this.config.streamPages){var r=new Uint8Array(this.totalLength);this.recordedPages.reduce(function(o,l){return r.set(l,o),o+l.length},0),this.ondataavailable(r)}this.onstop(),this.config.reuseWorker||delete this.encoder},n.prototype.ondataavailable=function(){},n.prototype.onpause=function(){},n.prototype.onresume=function(){},n.prototype.onstart=function(){},n.prototype.onstop=function(){},a.exports=n}).call(this,t(1))},function(a,e){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch{typeof window=="object"&&(t=window)}a.exports=t}])});function yr(a,e){let t;const s=a.reply_to,i=a.saved_peer_id&&it(a.saved_peer_id);return i?t=i:s?._==="messageReplyHeader"&&(!e||s.pFlags.forum_topic)?t=s.reply_to_top_id||s.reply_to_msg_id:e&&(a._==="messageService"&&a.action?._==="messageActionTopicCreate"?t=a.mid:t=Tu),t}function Ov(a,e,t,s){return t?Tl(a,e,t):(Vs(a,e),(s?a.push(e):a.unshift(e))-1)}class c2{constructor(e,t,s){this.container=document.createElement("div"),this.container.classList.add("bubbles-group"),this.chat=e,this.groups=t,this.items=[],this.dateTimestamp=s,this.offset=0,this.middlewareHelper=e.bubbles.getMiddleware().create()}getAvatarOptions(e){const t=e.fwd_from,s=e.fwdFromId,i=Aa(t),n=e.from_id&&e.from_id._==="peerChannel"&&e.fromId===s,r=this.chat.peerId,o=(t&&r===Lo&&!i||n?s:e.fromId)||Wt;return{peerId:o,peerTitle:o===Wt?i:void 0}}destroyAvatar(){this.avatar&&(this.avatarContainer.remove(),this.avatarLoadPromise=this.avatar=this.avatarContainer=void 0,--this.offset)}createAvatar(e,t){return this.avatarLoadPromise?this.avatarLoadPromise:e._==="messageService"?void 0:(this.avatarContainer=document.createElement("div"),this.avatarContainer.classList.add("bubbles-group-avatar-container"),++this.offset,this.avatar=vs({middleware:this.middlewareHelper.get(),size:40,lazyLoadQueue:this.chat.bubbles.lazyLoadQueue,...t||this.getAvatarOptions(e)}),this.avatar.node.classList.add("bubbles-group-avatar","user-avatar"),this.avatarLoadPromise=this.avatar.readyThumbPromise,this.avatarContainer.append(this.avatar.node),this.container.append(this.avatarContainer),this.avatarLoadPromise)}get firstTimestamp(){return this.firstItem.timestamp}get firstMid(){return this.firstItem.mid}get firstItem(){return this.items[this.items.length-1]}get lastTimestamp(){return this.lastItem.timestamp}get lastMid(){return this.lastItem.mid}get lastItem(){return this.items[0]}updateClassNames(){const e=this.items,t=e.length;if(!t)return;const s=e[t-1].bubble;if(e.length===1){s.classList.add("is-group-first","is-group-last");return}else s.classList.remove("is-group-last"),s.classList.add("is-group-first");for(let n=1,r=t-1;n{this.mountItem(n,i-1-r,t)}),e&&this.updateClassNames(),this.onItemMount()}mountItem(e,t=this.items.indexOf(e),s=this.offset){e.mounted||(di(e.bubble,this.container,s+t),e.mounted=!0)}unmountItem(e){e.mounted&&(e.bubble.remove(),e.mounted=!1,this.onItemUnmount())}onItemMount(){if(this.mounted)return;const e=this.dateContainer=this.chat.bubbles.getDateContainerByTimestamp(this.dateTimestamp/1e3),t=this.groups.groups.filter(r=>r.dateTimestamp===this.dateTimestamp),s=t.length,i=t.indexOf(this),n=t.slice(i+1).reduce((r,o)=>r+(o.mounted?0:1),0);di(this.container,e.container,lP+s-1-i-n),++e.groupsLength,this.mounted=!0,this.groups?.updateGroupsClassNames()}onItemUnmount(){this.mounted&&(this.items.length?this.updateClassNames():(this.container.remove(),this.dateContainer&&--this.dateContainer.groupsLength,this.dateContainer=void 0,this.chat.bubbles.deleteEmptyDateGroups(),this.mounted=!1,this.middlewareHelper.clean(),this.groups?.updateGroupsClassNames()))}}class d2{constructor(e){this.chat=e,this.itemsArr=[],this.itemsMap=new Map,this.groups=[],this.newGroupDiff=121,e.type!==we.Search&&(this.sortItemsKey=e.type===we.Scheduled?"timestamp":"mid",this.sortGroupsKey=e.type===we.Scheduled?"lastTimestamp":"lastMid",this.sortGroupItemsKey="groupMid")}removeItem(e){e.group?.removeItem(e),this.removeItemFromCache(e)}removeAndUnmountBubble(e){const t=this.getItemByBubble(e);if(!t){const d=e.parentElement;return d&&(d.classList.contains("bubbles-group")?d.remove():e.remove()),!1}const s=this.itemsArr,i=s.indexOf(t),n=this.getSiblingsAtIndex(i,s),r=t.group;this.removeItem(t);const o=new Set;r&&(r.unmountItem(t),o.add(r));const[l,c]=n;if(l&&c&&this.canItemsBeGrouped(l,c)&&l.group!==c.group){const d=c.group;this.f(c.group.items),d.onItemUnmount(),o.add(l.group),this.groupUngrouped()}return this.mountUnmountGroups(Array.from(o)),!0}mountUnmountGroups(e){const[t,s]=qc(e,i=>!!i.items.length);s.forEach(i=>{i.onItemUnmount()}),t.forEach(i=>{i.mount(!0)})}f(e,t=0,s=e.length){for(;t{e.container.classList.toggle("bubbles-group-last",t===0),e.container.classList.toggle("bubbles-group-first",t===s.length-1)})}addItemToCache(e){this.insertItemToArray(e,this.itemsArr),this.itemsMap.set(e.bubble,e)}removeItemFromCache(e){Vs(this.itemsArr,e),this.itemsMap.delete(e.bubble)}getMessageFromId(e){let t=e.fromId;return t===I.myId&&e.peerId===I.myId&&e.fwdFromId===t&&(t=t.toPeerId(!0)),t}generateGroupMid(e,t){const{mid:s,date:i}=e;return this.chat.type===we.Scheduled?+`${(i*1e3-t)/1e3}.${+(""+s).replace(".","")}`:s}createItem(e,t,s){const i=!(t._==="message"||t.action&&ew.has(t.action._)),{mid:n,date:r}=t,{dateTimestamp:o}=this.chat.bubbles.getDateForDateContainer(r);return{mid:n,groupMid:this.generateGroupMid(t,o),fromId:this.getMessageFromId(t),bubble:e,timestamp:r,dateTimestamp:o,mounted:!1,single:i,message:t,reverse:s}}splitSiblingsOnGrouping(e){const[t,s]=e,i=t?.group;if(s?.group,!i)return;const n=i.items,r=n.indexOf(t)+1,o=n.length;if(r===o)return;const l=[i];return this.f(n,r,o),l}prepareForGrouping(e,t,s){if(this.getItemByBubble(e))return;const n=this.createItem(e,t,s);this.addItemToCache(n)}groupUngrouped(){const e=this.itemsArr,t=e.length,s=new Set;for(let i=0;is.add(h))}}return s}cleanup(){this.itemsArr=[],this.groups=[],this.itemsMap.clear()}}class Ng extends ue{constructor(e,t,s={}){if(super("popup-date-picker",{body:!0,overlayClosable:!0,buttons:s.noButtons?[]:[{langKey:"JumpToDate",callback:()=>{this.onPick&&this.onPick(this.selectedDate.getTime()/1e3|0)}},{langKey:"Cancel",isCancel:!0}],title:!0,...s}),this.onPick=t,this.options=s,this.onPrevClick=n=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()-1),this.setMonth(),this.selectedMonth.getTime()===this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.nextBtn.removeAttribute("disabled")},this.onNextClick=n=>{this.selectedMonth.setMonth(this.selectedMonth.getMonth()+1),this.setMonth(),this.selectedMonth.getTime()===this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),this.prevBtn.removeAttribute("disabled")},this.onDateClick=n=>{const r=n.target;if(!r.dataset.timestamp)return;if(this.selectedEl){if(this.selectedEl===r)return;this.selectedEl.classList.remove("active")}this.selectedEl=r,r.classList.add("active");const o=+r.dataset.timestamp;this.selectedDate=new Date(o),this.setTitle(),this.setTimeTitle()},this.minDate=s.minDate||new Date("2013-08-01T00:00:00"),e{const u=""+o;this.listenerSetter.add(l.input)("input",h=>{let p=l.value.replace(/\D/g,"");p.length>2?p=p.slice(0,2):(p.length===1&&+p[0]>+u[0]||p.length===2&&+p>o)&&(p.length===2&&d&&d(+p[1]),p="0"+p[0]),l.setValueSilently(p),c(p.length)})};this.hoursInputField=new Yt({plainText:!0}),this.minutesInputField=new Yt({plainText:!0}),r(23,this.hoursInputField,o=>{o===2&&this.minutesInputField.input.focus(),this.setTimeTitle()},o=>{this.minutesInputField.value=(o+this.minutesInputField.value).slice(0,2)}),r(59,this.minutesInputField,o=>{o||this.hoursInputField.input.focus(),this.setTimeTitle()}),this.selectedDate=e,this.hoursInputField.setValueSilently(("0"+e.getHours()).slice(-2)),this.minutesInputField.setValueSilently(("0"+e.getMinutes()).slice(-2)),e.setHours(0,0,0,0),this.timeDiv.append(this.hoursInputField.container,n,this.minutesInputField.container),J(this.btnConfirm,()=>{this.onPick&&(this.selectedDate.setHours(+this.hoursInputField.value||0,+this.minutesInputField.value||0,0,0),this.onPick(this.selectedDate.getTime()/1e3|0)),this.hide()},{listenerSetter:this.listenerSetter}),this.body.append(this.timeDiv),this.prevBtn.classList.add("primary"),this.nextBtn.classList.add("primary")}const i=document.createElement("div");i.classList.add("popup-centerer"),i.append(this.container),this.element.append(i),e.setHours(0,0,0,0),this.selectedDate=e,this.maxDate=s.maxDate||new Date,this.maxDate.setHours(0,0,0,0),this.selectedMonth=new Date(this.selectedDate),this.selectedMonth.setDate(1),this.maxMonth=new Date(this.maxDate),this.maxMonth.setDate(1),this.minMonth=new Date(this.minDate),this.minMonth.setHours(0,0,0,0),this.minMonth.setDate(1),this.selectedMonth.getTime()===this.minMonth.getTime()&&this.prevBtn.setAttribute("disabled","true"),this.selectedMonth.getTime()===this.maxMonth.getTime()&&this.nextBtn.setAttribute("disabled","true"),s.noTitle&&(this.setTitle=()=>{}),this.setTimeTitle(),this.setTitle(),this.setMonth()}setTimeTitle(){}setTitle(){this.title.replaceChildren(new Ne.IntlDateElement({date:this.selectedDate,options:{day:"numeric",month:"long",weekday:"short"}}).element)}renderElement(e,t=""){const s=document.createElement("button");return s.classList.add("btn-icon","date-picker-month-date"),e&&s.setAttribute("disabled","true"),t&&s.append(t),s}setMonth(){const e=new Date(this.selectedMonth),t={year:"numeric",month:this.timeDiv&&st.isMobile?"short":"long"};this.monthTitle.replaceChildren(new Ne.IntlDateElement({date:e,options:t}).element),this.month?.remove(),this.month=document.createElement("div"),this.month.classList.add("date-picker-month");const s=new Date,i=s.getDay();i!==1&&s.setHours(-24*(i-1));for(let c=0;c<7;++c){const d=this.renderElement(!0,new Ne.IntlDateElement({date:s,options:{weekday:"narrow"}}).element);d.classList.remove("date-picker-month-date"),d.classList.add("date-picker-month-day"),this.month.append(d),s.setDate(s.getDate()+1)}let n=e.getDay()-1;n===-1&&(n=6);const r=new Date(e.getTime());r.setDate(r.getDate()-n-1);for(let c=0;cthis.maxDate||e{if(t){const o=t(n);o instanceof Promise&&await o}if(n===I.myId){let o=0;for(const l in e){const c=e[l];o+=c.length,this.managers.appMessagesManager.forwardMessages({peerId:n,fromPeerId:l.toPeerId(),mids:c})}$e({langPackKey:o>0?"FwdMessagesToSavedMessages":"FwdMessageToSavedMessages"});return}await Ce.setInnerPeer({peerId:n,threadId:r}),Ce.chat.input.initMessagesForward(e)},placeholder:"ShareModal.Search.ForwardPlaceholder",chatRightsActions:s,selfPresence:"ChatYourSelf",useTopics:!i})}static async create(...e){const[t]=e,s=Object.keys(t).map(r=>t[r].map(l=>I.managers.appMessagesManager.getMessageByPeer(r.toPeerId(),l))),i=await Promise.all(va(s)),n=new Set;i.forEach(r=>{if(!r)return;const o=Vi(r);let l;if(!o)r.viaBotId?l="send_inline":l="send_plain";else if(o._==="webPage")l="embed_links";else if(o._==="photo")l="send_photos";else if(o._==="game")l="send_games";else switch(o.type){case"audio":l="send_audios";break;case"gif":l="send_gifs";break;case"round":l="send_roundvideos";break;case"sticker":l="send_stickers";break;case"voice":l="send_voices";break;case"video":l="send_videos";break;default:l="send_docs";break}l&&n.add(l)}),ue.createPopup(kr,e[0],e[1],Array.from(n))}}const Tf=(a,e={})=>{const t=e.monthAsNumber?".":" ",s=("0"+a.getHours()).slice(-2)+":"+("0"+a.getMinutes()).slice(-2)+(e.noSeconds?"":":"+("0"+a.getSeconds()).slice(-2)),i=a.getFullYear();return(e.leadingZero?("0"+a.getDate()).slice(-2):a.getDate())+t+(e.monthAsNumber?("0"+(a.getMonth()+1)).slice(-2):_L[a.getMonth()])+t+(""+i).slice(e.shortYear?2:0)+(e.noTime?"":", "+s)};class Og{constructor(e,t){this.className=e,this.fill=t,this.container=document.createElement("div"),this.container.className=e,this.border=document.createElement("div"),this.border.classList.add(e+"-border"),this.content=document.createElement("div"),this.content.classList.add(e+"-content"),this.title=document.createElement("div"),this.title.classList.add(e+"-title"),Xr(this.title),this.subtitle=document.createElement("div"),this.subtitle.classList.add(e+"-subtitle"),Xr(this.subtitle),this.content.append(this.title,this.subtitle),this.container.append(this.border,this.content)}}const lo=32;async function Eb(a){a.loadPromises||(a.loadPromises=[]);const{titleEl:e,subtitleEl:t,mediaEl:s,message:i,loadPromises:n,animationGroup:r,middleware:o,lazyLoadQueue:l,replyHeader:c}=a;let{storyItem:d,quote:u}=a,h=a.title;if(h!==void 0)typeof h=="string"&&(h=Ya(h,140),h=je(h)),St(e,h);else if(a.isStoryExpired){const y=Be("bomb","expired-story-icon");e.append(y,P("ExpiredStory"))}const p=c?._==="messageReplyHeader";p&&c.quote_text&&(u??(u={text:c.quote_text,entities:c.quote_entities}));let m=d?.media||i?.media||p&&c.reply_media;m?._==="messageMediaStory"&&(d=m.story,m=d?.media);let g=!1,f=!1;const v=s?Array.from(s.children).slice():[];if(m&&s){m=m.webpage||m;const y=m.photo,w=m.document;if(y||w&&w.thumbs?.length)if(w?.type==="sticker")await ai({doc:w,div:s,lazyLoadQueue:l||void 0,group:r,width:lo,height:lo,middleware:o,loadPromises:n}),g=!0;else if(w?.type==="gif"&&w.video_thumbs)g=!0,await Xa({doc:w,container:s,boxWidth:lo,boxHeight:lo,lazyLoadQueue:l||void 0,noPlayButton:!0,noInfo:!0,middleware:o,loadPromises:n,withoutPreloader:!0,videoSize:w.video_thumbs[0],group:r});else{const b=y||w;f=w?.type==="round";try{await Bi({photo:b,container:s,boxWidth:lo,boxHeight:lo,size:ha(b,lo,lo),middleware:o,lazyLoadQueue:l,noBlur:!0,withoutPreloader:!0,loadPromises:n}),g=!0}catch{}}}if(a.subtitle!==void 0){let y=a.subtitle;typeof y=="string"&&(y=Ya(y,140),y=je(y)),St(t,y||"")}else if(d&&a.storyItem)t.replaceChildren(P("Story"));else if(a.isStoryExpired){const y=Be("bomb","expired-story-icon");t.replaceChildren(y,P("ExpiredStory"))}else if(u){const y=jt(Ya(u.text,200),{...a,noLinebreaks:!0,entities:u.entities,noLinks:!0});t.replaceChildren(y)}else if(i){const y=await To(a);t.replaceChildren(y)}return Promise.all(n).then(()=>{o&&!o()||(v.forEach(y=>y.remove()),s&&s.classList.toggle("is-round",f))}),g}class g1 extends Og{constructor(e){super(e,async t=>{this.mediaEl||(this.mediaEl=document.createElement("div"),this.mediaEl.classList.add(this.className+"-media"));const s=await Eb({...t,titleEl:this.title,subtitleEl:this.subtitle,mediaEl:this.mediaEl});t.isStoryExpired&&this.container.classList.add("is-expired-story"),this.container.classList.toggle("is-media",s),s?this.content.prepend(this.mediaEl):this.mediaEl.remove()}),this.className=e}}async function kb({docId:a,middleware:e,useHighlightingColor:t,colorAsOut:s,container:i,color:n,positions:r,canvasWidth:o,canvasHeight:l,emojiSize:c,onCacheStatus:d}){let u;if(typeof a=="object")u=a;else{const p=await I.managers.acknowledged.appEmojiManager.getCustomEmojiDocument(a);p.cached||d?.(!1),u=await p.result}const h=document.createElement("div");return ai({doc:u,div:h,middleware:e,width:c,height:c,static:!0,withThumb:!1,exportLoad:2,useCache:!1}).then(({load:p,downloaded:m})=>(d?.(m),p())).then(p=>{const m=p[0];return m.naturalWidth?m:(console.warn("should wait for image size",m),ns(100).then(()=>m))}).then(p=>{const m=document.createElement("canvas");m.classList.add("emoji-pattern-canvas"),m.style.width=`${o}px`,m.style.height=`${l}px`;const g=m.getContext("2d"),f=m.dpr=window.devicePixelRatio;return m.width=o*f,m.height=l*f,r.forEach(([v,y,w,b])=>{g.globalAlpha=b,g.drawImage(p,v*f,y*f,w*f,w*f)}),g.globalAlpha=1,t?n="#ffffff":s&&(n=yi.getProperty("message-out-primary-color")),IL(g,n,0,0,m.width,m.height),i&&i.prepend(m),m}).catch(as)}function Hu(a){const e=new g1("reply"),t=e.fill(a);e.container.classList.add("quote-like","quote-like-hoverable","quote-like-border"),Xr(e.container),e.border.remove(),Ei(e.container,void 0,void 0,!0),a.isQuote&&(e.container.classList.add("quote-like-icon"),e.container.classList.add("reply-multiline")),a.noBorder&&e.container.classList.remove("quote-like-border");const{setColorPeerId:s}=a;if(s!==void 0){Ce.setPeerColorToElement({peerId:s,element:e.container,messageHighlighting:a.useHighlightingColor,colorAsOut:a.colorAsOut});const i=Ae.getPeer(s),n=i?.color?.background_emoji_id;n&&kb({docId:n,container:e.container,middleware:a.middleware,color:jC(i)[0],colorAsOut:a.colorAsOut,useHighlightingColor:a.useHighlightingColor,positions:[[104.5,34.5,12,.35],[9.3,33.3,10.4,.2],[51.3,.3,10.4,.2],[.6,7.6,12.8,.1],[28.9,12.9,15.2,.2],[65.5,18.5,12,.25],[48.9,37.9,15.2,.25],[91.9,7.9,15.2,.3]],canvasWidth:117,canvasHeight:54,emojiSize:16}).then(r=>{a.middleware&&!a.middleware()||r.classList.add("reply-background-canvas")})}return{container:e.container,fillPromise:t}}const f1="stacked-avatars",v1=f1+"-avatar",h2=v1+"-container";class Zl{constructor(e){this.lazyLoadQueue=e.lazyLoadQueue,this.avatarSize=e.avatarSize,this.middlewareHelper=e.middleware.create(),this.container=document.createElement("div"),this.container.classList.add(f1),this.container.style.setProperty("--avatar-size",e.avatarSize+"px")}render(e,t=[]){const s=this.container.children;return e=e.slice().reverse(),e.length>3&&(e=e.slice(-3)),e.forEach((i,n)=>{let r=s[n];r?r.middlewareHelper.clean():(r=document.createElement("div"),r.classList.add(h2),r.middlewareHelper=this.middlewareHelper.get().create());const o=vs({middleware:r.middlewareHelper.get(),size:this.avatarSize,isDialog:!1,lazyLoadQueue:this.lazyLoadQueue,peerId:i});o.node.classList.add(v1),t?.push(o.readyThumbPromise),r.replaceChildren(o.node),r.parentNode||this.container.append(r),r.classList.toggle("is-first",n===0)}),Array.from(s).slice(e.length).forEach(i=>{i.middlewareHelper.destroy(),i.remove()}),Promise.all(t)}}const y1="replies-element";I.addEventListener("replies_updated",a=>{Array.from(document.querySelectorAll(y1+`[data-post-key="${a.peerId}_${a.mid}"]`)).forEach(e=>{e.message=a,e.render()})});class b1 extends HTMLElement{constructor(){super(),this.updated=!1,this.managers=I.managers}init(){this.render(),this.dataset.postKey=this.message.peerId+"_"+this.message.mid,this.classList.add("replies","replies-"+this.type)}render(){const e=this.message.replies;if(this.type==="footer"){let t;this.firstElementChild&&(t=this.firstElementChild),e?.recent_repliers?(t&&!t.classList.contains("replies-footer-avatars")&&(this.replaceChildren(),t=null),this.stackedAvatars||(this.stackedAvatars=new Zl({lazyLoadQueue:this.lazyLoadQueue,avatarSize:30,middleware:this.middlewareHelper.get()}),this.stackedAvatars.container.classList.add("replies-footer-avatars")),t=this.stackedAvatars.container,this.stackedAvatars.render(e.recent_repliers.map(n=>it(n)),this.loadPromises)):(t&&!t.classList.contains(zr("comments"))&&(t.remove(),t=null),t||(t=Be("comments","replies-footer-icon","replies-footer-icon-comments"))),t.parentElement||this.prepend(t),this.text||(this.text=new Ne.IntlElement);const s=this.text;if(e?e.replies?s.compareAndUpdate({key:"Comments",args:[e.replies]}):s.compareAndUpdate({key:"LeaveAComment"}):s.compareAndUpdate({key:"ViewInChat"}),e){let n=!1;e.replies&&e.read_max_id!==void 0&&e.max_id!==void 0&&(n=e.read_max_id${e?.replies?un(e.replies,0):""}`,this.prepend(Be("commentssticker"));e&&!this.updated&&!this.message.pFlags.is_outgoing&&(this.managers.appMessagesManager.subscribeRepliesThread(this.message.peerId,this.message.mid),this.managers.appMessagesManager.updateMessage(this.message.peerId,this.message.mid,"replies_updated"),this.updated=!0),this.loadPromises&&(this.loadPromises=void 0)}}customElements.define(y1,b1);const u2=" ",LS=()=>{const a=document.createElement("i");return a.classList.add("time-edited","time-part"),ks(a,"EditedMessage"),a},ES=(a,e)=>e?OC(a.getTime()/1e3|0,{combined:!0}).dateEl:Ny(a),kS=a=>{const e=document.createElement("span");if(e.classList.add("time-effect"),a.onlyElement)return e;const t=Mt();return e.dataset.effectId=""+a.docId,I.managers.acknowledged.appReactionsManager.getAvailableEffect(a.docId).then(async s=>{s.cached||t.resolve();const i=await s.result;if(!i){t.resolve();return}const n=[];ai({doc:await I.managers.appDocsManager.getDoc(i.static_icon_id),div:e,middleware:a.middleware,loadPromises:n,width:12,height:12}),Promise.all(n).then(async()=>{s.cached&&t.resolve();const{doc:r,thumb:o}=await w1(i);fs.downloadMedia({media:r,thumb:o})})}),a.loadPromises?.push(t),e},w1=async a=>{const e=!a.effect_animation_id,t=await I.managers.appDocsManager.getDoc(e?a.effect_sticker_id:a.effect_animation_id);return{isPremiumEffect:e,doc:t,thumb:ql(t)}},S1=({e:a,isOut:e,element:t,middleware:s,scrollable:i,effectId:n})=>{if(t.dataset.playing){a&&_e(a);return}t.dataset.playing="1",I.managers.appReactionsManager.getAvailableEffect(n).then(async r=>{const{doc:o,thumb:l}=await w1(r);if(!s())return;const{animationDiv:c}=Dh({doc:o,middleware:s,side:e?"right":"left",size:240,target:t,play:!0,scrollable:i,fullThumb:ql(o),addOffsetX:40,onUnmount:()=>{delete t.dataset.playing}});e===!1&&c.classList.add("reflect-x")}),a&&_e(a)},p2=({timeEffect:a,bubble:e,e:t,scrollable:s})=>{const i=a.dataset.effectId;return S1({element:a,isOut:e.classList.contains("is-out"),e:t,scrollable:s,effectId:i,middleware:e.middlewareHelper.get()})};var bc;(a=>{a.setTime=e=>{const{chatType:t,message:s,groupedMessagesCount:i}=e,n=!("action"in s),r=s.peerId===I.myId&&!e.isOut,o=[];let l=s.date;r&&n&&s.fwd_from&&(l=s.fwd_from.saved_date||s.fwd_from.date||l);const c=new Date(l*1e3);let d,u;const h=n&&s.fwd_from,p=ES(c,r);if(n){if(s.views){const w=document.createElement("span");w.classList.add("post-views"),w.textContent=un(s.views,1);const b=Be("channelviews","time-icon","time-part","time-icon-views");o.push(w,b)}const y=e.chat.getPostAuthor(s);if(y){const w=document.createElement("span");w.classList.add("time-post-author"),Qt(w,je(y)),w.insertAdjacentHTML("beforeend",'"),o.push(w)}if(s.edit_date&&t!==we.Scheduled&&!s.pFlags.edit_hide&&o.unshift(d=LS()),t!==we.Pinned&&s.pFlags.pinned){const w=Be("pinnedchat","time-icon","time-pinned","time-part");o.unshift(w)}if(s.effect&&(u=kS({onlyElement:!0}),o.push(u)),s.paid_message_stars&&e.chat.isAnyGroup){const w=document.createElement("span");w.classList.add("inline-message-stars"),w.append(Jr(+s.paid_message_stars*Math.max(i||0,1)),Be("star")),o.push(w)}}p&&o.push(p);let m=Tf(new Date(s.date*1e3));n&&(m+=(s.edit_date&&!s.pFlags.edit_hide?` Edited: ${Tf(new Date(s.edit_date*1e3))}`:"")+(h?` Original: ${Tf(new Date(h.saved_date||h.date*1e3))}`:""));const g=document.createElement("span");g.classList.add("time"),g.append(...o);const f=document.createElement("div");f.classList.add("time-inner"),m&&(f.title=m);let v=o;return d&&(v[v.indexOf(d)]=LS()),u&&(v[v.indexOf(u)]=kS({docId:s.effect,middleware:e.middleware,loadPromises:e.loadPromises})),v=v.map(y=>y instanceof HTMLElement&&!y.classList.contains("i18n")&&!y.classList.contains("reactions")&&!y.classList.contains("time-effect")?y.cloneNode(!0):y),p&&(v[v.length-1]=ES(c,r)),f.append(...v),g.append(f),g},a.renderReplies=({bubble:e,bubbleContainer:t,message:s,messageDiv:i,loadPromises:n,lazyLoadQueue:r,middleware:o})=>{const l=!e.classList.contains("sticker")&&!e.classList.contains("emoji-big")&&!e.classList.contains("round"),c=new b1;return c.message=s,c.type=l?"footer":"beside",c.loadPromises=n,c.lazyLoadQueue=r,c.middlewareHelper=o.create(),c.init(),t.append(c),l},a.setReply=async({chat:e,bubble:t,bubbleContainer:s,message:i,appendCallback:n,middleware:r,lazyLoadQueue:o,needUpdate:l,isStandaloneMedia:c,isOut:d,fromUpdate:u})=>{const h=!s;h&&(s=t.querySelector(".bubble-content"));const p=h?s.querySelector(".reply"):null,m=i.reply_to;if(!m){p?.remove(),t.classList.remove("is-reply");return}const g=m._==="messageReplyStoryHeader",f=g?it(m.peer):m.reply_to_peer_id?it(m.reply_to_peer_id):i.peerId,v=!g&&Ae.getMessageByPeer(f,i.reply_to_mid),y=g&&await I.managers.acknowledged.appStoriesManager.getStoryById(f,m.story_id);let w,b=!1,S,_,M;if(u||(g?l.push(M={replyToPeerId:f,replyStoryId:m.story_id,mid:i.mid,peerId:i.peerId}):l.push(M={replyToPeerId:f,replyMid:i.reply_to_mid,mid:i.mid,peerId:i.peerId}),r.onClean(()=>{Vs(l,M)})),g)y.cached?(S=f,w=new Xt({peerId:S,dialog:!1,onlyFirstName:!1,plainText:!1}).element):(I.managers.appMessagesManager.fetchMessageReplyTo(i),w=P("Loading"));else if(!v)m.reply_from?(b=!0,S=it(m.reply_from?.from_id||m.reply_to_peer_id),w=new Xt({peerId:S||void 0,dialog:!1,onlyFirstName:!1,plainText:!1,fromName:Aa(m.reply_from)}).element):(I.managers.appMessagesManager.fetchMessageReplyTo(i),w=P("Loading"));else{b=!!m.reply_from;const x=v.fwdFromId;S=i.fwdFromId&&i.fwdFromId===x?i.fwdFromId:x||v.fromId,_=i.fwdFromId&&i.fwdFromId===x?void 0:v.fromId,w=new Xt({peerId:S,dialog:!1,onlyFirstName:!1,plainText:!1,fromName:S?void 0:Aa(v.fwd_from)}).element}if(!g&&m.reply_from){const x=document.createDocumentFragment();let R;if(m.reply_from.channel_post)x.append(R=Be("newchannel_filled","with-margin"),w);else if(m.reply_to_peer_id){const B=new Xt({peerId:it(m.reply_to_peer_id),dialog:!1,onlyFirstName:!1,plainText:!1}).element;x.append(w," ",R=Be("group_filled")," ",B)}else x.append(R=Be("newprivate_filled","with-margin"),w);R&&(R.classList.add("inline-icon","reply-title-icon"),w=x)}const C=g&&y.cached&&!await y.result,{container:L,fillPromise:E}=Hu({title:w,animationGroup:e.animationGroup,message:v||(b?{_:"message",pFlags:{},id:0,date:0,message:"",peer_id:void 0,media:m.reply_media}:void 0),isStoryExpired:C,storyItem:y?.cached&&await y.result,setColorPeerId:_||S,textColor:"primary-text-color",isQuote:g?void 0:m.pFlags.quote,middleware:r,lazyLoadQueue:o,replyHeader:m,useHighlightingColor:c,colorAsOut:d,canTranslate:v&&!b?!v.pFlags.out:void 0});if(await E,p){const x=["floating-part","mb-shorter"],R=p.classList;x.forEach(B=>{R.contains(B)&&L.classList.add(B)}),p.replaceWith(L)}else n(L);return t.classList.add("is-reply"),L}})(bc||(bc={}));class TS extends Zt{async init(e){this.container.id="poll-results-container",this.container.classList.add("chatlist-container"),this.resultsDiv=document.createElement("div"),this.resultsDiv.classList.add("poll-results"),this.scrollable.append(this.resultsDiv);const t=await this.managers.appPollsManager.getPoll(e.media.poll.id);this.setTitle(t.poll.pFlags.quiz?"PollResults.Title.Quiz":"PollResults.Title.Poll");const s=document.createElement("h3"),i=Yc(t.poll.question);Qt(s,jt(i.text,{entities:i.entities,middleware:this.middlewareHelper.get()}));const n=t.results.results.map(o=>o.voters/t.results.total_voters*100);_1(n);const r=document.createDocumentFragment();t.results.results.forEach((o,l)=>{if(!o.voters)return;const c=document.createElement("hr"),d=t.poll.answers[l],u=document.createElement("div");u.classList.add("poll-results-answer");const h=document.createElement("div"),p=Yc(d.text);Qt(h,jt(p.text,{entities:p.entities,middleware:this.middlewareHelper.get()}));const m=document.createElement("div");m.innerText=Math.round(n[l])+"%",u.append(h,m);const g=nt.createChatList();g.classList.add("poll-results-voters"),nt.setListClickListener({list:g,onFound:()=>{Gs.onCloseBtnClick()},withContext:void 0,autonomous:!0}),g.style.minHeight=Math.min(o.voters,4)*48+"px",r.append(c,u,g);let f,v=4,y=!1,w=Math.max(0,o.voters-4);const b=()=>{y||(y=!0,this.managers.appPollsManager.getVotes(e,d.option,f,v).then(_=>{_.votes.forEach(M=>{const{dom:C}=nt.addDialogNew({peerId:it(M.peer),container:g,rippleEnabled:!1,meAsSaved:!1,avatarSize:"small",withStories:!1,wrapOptions:{middleware:this.middlewareHelper.get()}});C.lastMessageSpan.parentElement.remove()}),f&&(w=Math.max(0,w-_.votes.length),w&&S.lastElementChild.replaceWith(P("PollResults.LoadMore",[Math.min(20,w)]))),f=_.next_offset,v=20,(!w||!_.votes.length)&&S.remove()}).finally(()=>{y=!1}))},S=ot("poll-results-more btn btn-primary btn-transparent",{icon:"down"});S.addEventListener("click",b),S.append(P("PollResults.LoadMore",[Math.min(20,w)])),r.append(S),b()}),this.resultsDiv.append(s,r),Gs.toggleSidebar(!0).then(()=>{})}}const m2=Y('
'),g2=Y("
"),f2=Y("
"),v2=Y('
'),xf=new Tg(void 0,!0);function Ra({element:a,class:e,container:t=a.parentElement,vertical:s,textElement:i,subtitleElement:n,paddingX:r=0,offsetY:o=0,centerVertically:l,onClose:c,icon:d,auto:u,mountOn:h=document.body,relative:p,lighter:m,rightElement:g}){const f=!p&&t.getBoundingClientRect(),v=!p&&a.getBoundingClientRect(),y=h===document.body;let w;return Ft(b=>{const[S,_]=K(),M=()=>{const B={"max-width":Math.min(f.width-r*2,320)+"px"},N=S();if(!N)return B;const G=Math.min(f.left+r,f.right),O=Math.max(f.left,f.right-Math.min(f.width,N.width)-r),$=v.left+(v.width-N.width)/2,H=zt($,G,O),D=12;s==="top"?B.top=(l?v.top+v.height/2:v.top)-N.height-D+o+"px":B.top=v.bottom+D+"px",B.left=H+"px";const U=v.left+(v.width-19)/2;return B["--notch-offset"]=U-H+"px",B};let C;const L=(()=>{const B=m2(),N=B.firstChild,G=N.nextSibling,O=G.nextSibling,$=C;return typeof $=="function"?Ue($,B):C=B,k(O,d&&T(hs,{icon:d,class:"tooltip-icon"}),null),k(O,n?[(()=>{const H=g2();return k(H,i),H})(),(()=>{const H=f2();return k(H,n),H})()]:i,null),k(B,g&&(()=>{const H=v2();return k(H,g),H})(),null),Me(H=>{const D=Ge("tooltip","tooltip-"+s,d&&"tooltip-with-icon",e,m&&"tooltip-lighter"),U=!p&&M();return D!==H._v$&&be(B,H._v$=D),H._v$2=Ii(B,U,H._v$2),H},{_v$:void 0,_v$2:void 0}),B})();T(gd,{mount:h,children:L}),Jt(()=>{!p&&_(C.getBoundingClientRect()),C.classList.add("mounted"),Dt({element:C,className:"is-visible",duration:200,useRafs:2,forwards:!0})});let E=!1;const x=B=>{B||(E=!0,clearTimeout(R),Dt({element:C,className:"is-visible",duration:200,forwards:!1,onTransitionEnd:()=>{c?.(),b()}}))};w=()=>{E||(y?xf.close():x(!1))};const R=u?window.setTimeout(w,3e3):0;y&&Promise.resolve().then(()=>{xf.open(h),xf.addEventListener("toggle",x,{once:!0})})}),{close:w}}let xS=0;const y2=9,hc=10,C1=340,AS=C1/hc,_1=a=>{const e=a.reduce((t,s)=>t+Math.round(s),0);if(e>100){const t=e-100,s=a.length;for(let i=0;i=.5&&lr&&(r=l,n=o)}if(n===-1)return;a[n]+=1-r}}};I.addEventListener("poll_update",({poll:a,results:e})=>{Array.from(document.querySelectorAll(`poll-element[poll-id="${a.id}"]`)).forEach(s=>{s._poll=a,s._results=e,s.isClosed=!!a.pFlags.closed,s.performResults(e,a.chosenIndexes)})});st.addEventListener("resize",()=>{$l.setMaxLength(),$l.resizePolls()});st.addEventListener("changeScreen",()=>{$l.setMaxLength()});const Af=(a,e,t)=>{a.classList.remove("active"),clearTimeout(t),setTimeout(()=>{e?.(),a.remove(),vo===a&&ph===e&&mh===t&&(vo=ph=null,mh=0)},200)};let vo,ph,mh,RS=!1;const Gu=a=>{vo&&Af(vo,ph,mh);const e=document.createElement("div");e.classList.add("quiz-hint","from-"+a.from),a.class&&e.classList.add(a.class);const t=document.createElement("div");t.classList.add("quiz-hint-container");let s;a.title&&(s=document.createElement("div"),s.classList.add("quiz-hint-title"),s.append(a.title),t.classList.add("has-title"));const i=document.createElement("div");i.classList.add("quiz-hint-text");let n;a.textRight&&(n=document.createElement("div"),n.classList.add("quiz-hint-text-right"),n.append(a.textRight),t.classList.add("has-right-text")),t.append(...[a.icon&&Be(a.icon,"quiz-hint-icon"),s,i,n].filter(Boolean)),e.append(t),Qt(i,a.textElement),a.appendTo.append(e),e.offsetLeft,e.classList.add("active");const r=()=>{Af(e,a.onHide,o)};vo=e,ph=a.onHide;const o=mh=a.duration&&window.setTimeout(r,a.duration);return a.canCloseOnPeerChange??(a.canCloseOnPeerChange=!0),a.canCloseOnPeerChange||(e.dataset.dontCloseOnPeerChange="1"),RS||(RS=!0,Ce.addEventListener("peer_changed",()=>{vo&&vo.dataset.dontCloseOnPeerChange!=="1"&&Af(vo,ph,mh)})),{hide:r}},vl=class vl extends HTMLElement{constructor(){super(...arguments),this.isClosed=!1,this.isQuiz=!1,this.isRetracted=!1,this.isPublic=!1,this.isMultiple=!1,this.chosenIndexes=[],this.chosingIndexes=[],this.sentVote=!1,this.clickHandler=e=>{const t=ne(e.target,"poll-answer");if(!t)return;_e(e);const s=+t.dataset.index;if(!this.canVote){const n=this.results.results[s];Ra({element:t,container:t.parentElement,vertical:"top",textElement:P("Chat.Poll.TotalVotes1",[n.voters]),offsetY:12,auto:!0});return}if(this.isMultiple){t.classList.toggle("is-chosing");const i=this.chosingIndexes.indexOf(s);i!==-1?this.chosingIndexes.splice(i,1):this.chosingIndexes.push(s)}else this.sendVotes([s])}}static setMaxLength(){const e=It.width<=360?It.width-120:st.active.poll.width;this.MAX_LENGTH=e+y2+this.MAX_OFFSET+-13.7}static resizePolls(){if(!this.MAX_LENGTH)return;Array.from(document.querySelectorAll("poll-element.is-voted")).forEach(t=>{t.svgLines.forEach((s,i)=>{t.setLineProgress(i,1)})})}async render(){this.listenerSetter=new $t,this.middlewareHelper.get().onClean(()=>{this.listenerSetter.removeAll()}),xS||(xS=document.getElementById("poll-line").getTotalLength(),vl.setMaxLength());const{poll:e,results:t}=this;this.message.pFlags.is_scheduled&&this.classList.add("disable-hover");let s;e.pFlags&&(this.isPublic=!!e.pFlags.public_voters,this.isQuiz=!!e.pFlags.quiz,this.isClosed=!!e.pFlags.closed,this.isMultiple=!!e.pFlags.multiple_choice,this.isClosed?(s="Chat.Poll.Type.Closed",this.classList.add("is-closed")):this.isQuiz?s=this.isPublic?"Chat.Poll.Type.Quiz":"Chat.Poll.Type.AnonymousQuiz":s=this.isPublic?"Chat.Poll.Type.Public":"Chat.Poll.Type.Anonymous"),this.classList.toggle("is-multiple",this.isMultiple);const i=e.answers.map((o,l)=>{const c=`
`,d=$u(c);if(this.isMultiple){const h=document.createElement("span");h.classList.add("poll-answer-selected"),h.append(Be("check")),d.firstElementChild.firstElementChild.append(h)}const u=document.createElement("span");return u.classList.add("poll-answer-selected"),d.firstElementChild.append(u),d});if(this.innerHTML=`
`,this.append(...i),Qt(this.firstElementChild,this.wrapSomeText(e.question)),Array.from(this.querySelectorAll(".poll-answer-text")).forEach((o,l)=>{const c=this.wrapSomeText(e.answers[l].text);Qt(o,c)}),this.descDiv=this.firstElementChild.nextElementSibling,this.typeDiv=this.descDiv.firstElementChild,this.avatarsDiv=this.descDiv.lastElementChild,s&&this.typeDiv.append(P(s)),this.isQuiz&&(this.classList.add("is-quiz"),e.close_period&&e.close_date)){const o=document.createElement("div");o.classList.add("poll-time"),this.descDiv.append(o);const l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.classList.add("poll-quiz-timer"),this.quizTimer=l;const c=2,d=7,u=2*Math.PI*d,h=document.createElementNS("http://www.w3.org/2000/svg","circle");h.classList.add("poll-quiz-timer-circle"),h.setAttributeNS(null,"cx","16"),h.setAttributeNS(null,"cy","16"),h.setAttributeNS(null,"r",""+d),h.setAttributeNS(null,"stroke-width",""+c),l.append(h),this.descDiv.append(l);const p=e.close_period*1e3,m=(e.close_date-await I.managers.timeManager.getServerTimeOffset())*1e3;this.quizInterval=window.setInterval(()=>{const g=Date.now(),f=(m-g)/p,v=(m-g)/1e3+1|0;o.textContent=bn(v),v<=5&&(o.style.color="#ee545c",h.style.stroke="#ee545c"),h.style.strokeDashoffset=u+f*u,h.style.strokeDasharray=`${u} ${u}`,g>=m&&(clearInterval(this.quizInterval),o.replaceChildren(),h.style.strokeDashoffset=u,this.quizInterval=0,setTimeout(()=>{this.managers.appPollsManager.getResults(this.message)},3e3))},1e3)}this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));const n=document.createElement("div");n.classList.add("poll-footer"),this.viewResults=document.createElement("div"),this.viewResults.className="poll-footer-button poll-view-results hide",this.viewResults.append(P("Chat.Poll.ViewResults")),this.votersCountDiv=document.createElement("div"),this.votersCountDiv.className="poll-votes-count",n.append(this.viewResults,this.votersCountDiv),this.append(n),J(this.viewResults,o=>{_e(o),Gs.isTabExists(TS)||Gs.createTab(TS).open(this.message)},{listenerSetter:this.listenerSetter}),Ei(this.viewResults),this.isMultiple&&(this.sendVoteBtn=document.createElement("div"),this.sendVoteBtn.classList.add("poll-footer-button","poll-send-vote"),this.sendVoteBtn.append(P("Chat.Poll.SubmitVote")),Ei(this.sendVoteBtn),e.chosenIndexes.length||this.votersCountDiv.classList.add("hide"),J(this.sendVoteBtn,o=>{_e(o),this.chosingIndexes.length&&this.sendVotes(this.chosingIndexes).then(()=>{this.chosingIndexes.length=0,this.answerDivs.forEach(l=>{l.classList.remove("is-chosing")})})},{listenerSetter:this.listenerSetter}),n.append(this.sendVoteBtn));const{canVote:r}=this;(!r||this.isPublic)&&this.performResults(t,e.chosenIndexes,!1),r&&this.setVotersCount(t),J(this,this.clickHandler,{listenerSetter:this.listenerSetter})}get poll(){return this._poll||this.message.media.poll}get results(){return this._results||this.message.media.results}get canVote(){return!(this.poll.chosenIndexes.length||this.isClosed)}wrapSomeText(e,t,s=this.middlewareHelper.get()){return typeof e!="string"&&(t=e.entities,e=e.text),this.translatableParams?Nu({...this.translatableParams,middleware:s,textWithEntities:{_:"textWithEntities",text:e,entities:t}}):jt(e,{...this.richTextOptions,entities:t})}initQuizHint(e){if(e.solution&&e.solution_entities){const t=document.createElement("div");if(t.classList.add("poll-hint"),t.append(Be("tip")),this.descDiv.append(t),J(t,s=>{_e(s),t.classList.add("active");const i=Ht();Gu({textElement:this.wrapSomeText(e.solution,e.solution_entities,i.get()),appendTo:Ce.chat.bubbles.container,from:"top",duration:pt?5e3:7e3,icon:"info2",onHide:()=>{i.destroy(),t.classList.remove("active")}})},{listenerSetter:this.listenerSetter}),this.sentVote){const s=e.results.find(i=>i.pFlags.correct);s&&!s.pFlags.chosen&&Xs(t)}}}sendVotes(e){if(this.sendVotePromise)return this.sendVotePromise;const t=this.answerDivs.filter((s,i)=>e.includes(i));return t.forEach(s=>{s.classList.add("is-voting")}),this.classList.add("disable-hover"),this.sentVote=!0,this.sendVotePromise=this.managers.appPollsManager.sendVote(this.message,e).then(()=>{t.forEach(s=>{s.classList.remove("is-voting")}),this.classList.remove("disable-hover")}).catch(()=>{this.sentVote=!1}).finally(()=>{this.sendVotePromise=null})}performResults(e,t,s=!0){if(wt.isAvailable("animations")||(s=!1),this.isQuiz&&(e.results?.length||this.isClosed)&&(this.answerDivs.forEach((n,r)=>{const l=!!e.results[r].pFlags.correct;n.classList.toggle("is-correct",l)}),this.initQuizHint&&(this.initQuizHint(e),this.initQuizHint=null),this.quizInterval&&(clearInterval(this.quizInterval),this.quizInterval=0),this.quizTimer?.parentElement&&this.quizTimer.remove(),this.descDiv.querySelector(".poll-time")?.remove()),this.isClosed&&(this.classList.add("is-closed"),St(this.typeDiv,P("Chat.Poll.Type.Closed"))),(this.chosenIndexes.length!==t.length||this.isClosed)&&(this.isRetracted=this.chosenIndexes.length&&!t.length,this.chosenIndexes=t.slice()),this.chosenIndexes.length||this.isRetracted||this.isClosed){const i=e.results.map(n=>e.total_voters?n.voters/e.total_voters*100:0);this.classList.toggle("no-transition",!s),s&&Dt({element:this,className:"",forwards:!this.isRetracted,duration:340}),$s(()=>{this.setResults(this.isRetracted?this.percents:i,this.chosenIndexes,s),this.percents=i,this.isRetracted=!1})}if(this.setVotersCount(e),this.isPublic){this.isMultiple||(this.viewResults.classList.toggle("hide",!e.total_voters||!this.chosenIndexes.length),this.votersCountDiv.classList.toggle("hide",!!this.chosenIndexes.length));const i=(e.recent_voters||[]).map(r=>it(r)),n=new Zl({avatarSize:16,middleware:this.middlewareHelper.get()});n.render(i),St(this.avatarsDiv,n.container)}if(this.isMultiple){const i=!!this.chosenIndexes.length,n=this.isClosed||i,r=!this.isPublic||!e.total_voters||!i&&!this.isClosed;this.sendVoteBtn.classList.toggle("hide",n),this.viewResults.classList.toggle("hide",r),this.votersCountDiv.classList.toggle("hide",!n||!r)}}setResults(e,t,s){this.svgLines.forEach(o=>o.style.display=""),this.answerDivs.forEach((o,l)=>{const c=t.includes(l);o.classList.toggle("is-chosen",c);const d=o.lastElementChild;let u;o.classList.contains("is-correct")||!this.isQuiz&&c?u=Be("check"):c&&(u=Be("close")),d.replaceChildren(u)});const i=Math.max(...e);if(this.maxPercents=e.map(o=>o/i),this.isRetracted)this.svgLines.forEach((o,l)=>{this.setLineProgress(l,-1)});else{const o=()=>{this.svgLines.forEach((l,c)=>{this.setLineProgress(c,1)})};s?$s(o):o()}e=e.slice(),_1(e);let n;const r=o=>{e.forEach((l,c)=>{const d=n(l,o);this.numberDivs[c].innerText=d+"%"})};if(this.isRetracted)if(n=(o,l)=>Math.round(o/hc*l),s)for(let o=hc-1,l=0;o>=0;--o,++l)setTimeout(()=>{r(o)},AS*l);else r(0);else if(n=(o,l)=>Math.round(o/hc*(l+1)),s)for(let o=0;o{r(o)},AS*o);else r(hc-1);if(this.isRetracted){s&&this.classList.add("is-retracting"),this.classList.remove("is-voted");const o=()=>{this.svgLines.forEach(l=>l.style.display="none")};s?setTimeout(()=>{this.classList.remove("is-retracting"),o()},C1):o()}else this.classList.add("is-voted")}setVotersCount(e){const t=e.total_voters||0;let s;const i=[t];this.isClosed?this.isQuiz?s=t?"Chat.Quiz.TotalVotes":"Chat.Quiz.TotalVotesResultEmpty":s=t?"Chat.Poll.TotalVotes1":"Chat.Poll.TotalVotesResultEmpty":this.isQuiz?s=t?"Chat.Quiz.TotalVotes":"Chat.Quiz.TotalVotesEmpty":s=t?"Chat.Poll.TotalVotes1":"Chat.Poll.TotalVotesEmpty",St(this.votersCountDiv,P(s,i))}setLineProgress(e,t){const s=this.svgLines[e];t===-1?(s.style.strokeDasharray="",s.style.strokeDashoffset=""):(s.style.strokeDasharray=t*this.maxPercents[e]*vl.MAX_LENGTH+", 485.9",s.style.strokeDashoffset=""+t*vl.MAX_OFFSET)}};vl.MAX_OFFSET=-46.5,vl.MAX_LENGTH=0;let $l=vl;customElements.define("poll-element",$l);function b2(a,e){const t=a.length;if(t!==e.length){const i=t-e.length;return i<0?-1:i>0?1:0}const s=15;for(let i=0;i0?1:0}return b2(a,e)}var uc=(a=>(a[a.None=0]="None",a[a.Top=1]="Top",a[a.Bottom=2]="Bottom",a[a.Both=3]="Both",a))(uc||{});class ed{constructor(){this.sliceConstructor=ed.getSliceConstructor(this),this.compareValue??(this.compareValue=w2);const e=this.constructSlice();this.slices=[e]}static getSliceConstructor(e){return class extends Array{constructor(){super(...arguments),this.end=0}isEnd(s){if((this.end&s)===s)return!0;let i=!1;if(s===1){const n=e.last;i=n.end&s?this.includes(n[n.length-1]):!1}else if(s===2){const n=e.first;i=n.end&s?this.includes(n[0]):!1}else if(s===3)return this.isEnd(1)&&this.isEnd(2);return i&&this.setEnd(s),i}getEnds(){return{top:this.isEnd(1),bottom:this.isEnd(2),both:this.isEnd(3)}}setEnd(s){this.end|=s}unsetEnd(s){this.end&=~s}splice(s,i,...n){const r=super.splice(s,i,...n);if(!this.length){const o=e.slices,l=o.indexOf(this);l!==-1&&(o.length===1?this.unsetEnd(3):o.splice(l,1))}return r}}}constructSlice(...e){const t=new this.sliceConstructor(e.length);for(let s=0,i=e.length;s=2)for(let t=0,s=this.slices.length;t=0)return{slice:t,offset:e===t[s]?s+1:s}}findSliceOffset(e){let t;for(let s=0;s=d||(i.isEnd(1)?(c.setEnd(1),!0):!1),p=r-u>=0||(i.isEnd(2)?(c.setEnd(2),!0):!1);return{slice:c,offsetIdOffset:n,fulfilled:0|(h&&p?3:(h?1:0)|(p?2:0))}}unshift(...e){let t=this.first;t.length?t.isEnd(2)||(t=this.constructSlice(),t.setEnd(2),this.slices.unshift(t)):t.setEnd(2),t.unshift(...e)}push(...e){let t=this.last;t.length?t.isEnd(1)||(t=this.constructSlice(),t.setEnd(1),this.slices.push(t)):t.setEnd(1),t.push(...e)}delete(e){const t=this.findSlice(e);return t?(t.slice.splice(t.index,1),!0):!1}deleteSlice(e){Vs(this.slices,e)}toJSON(){const t={slices:this.slices.map(s=>({values:s.slice(),isEnd:s.getEnds()}))};return JSON.stringify(t)}static fromJSON(e){const t=JSON.parse(e),s=new ed;return t.slices.forEach(i=>{const n=s.insertSlice(i.values)||s.first;i.isEnd.top&&n.setEnd(1),i.isEnd.bottom&&n.setEnd(2)}),s}}Di&&(Di.SlicedArray=ed);function S2(a){a.style.display="none",a.offsetLeft,a.style.display=""}function I1(a){let e=!1,t=!1;return new Qn({...a,verifyTouchTarget:s=>!ne(s.target,"progress-line")&&!UC(s)&&(a.verifyTouchTarget?a.verifyTouchTarget(s):!0),onSwipe:(s,i,n)=>{if(s*=-1,i*=-1,!e&&Math.abs(i)>20)return!0;if(Math.abs(s)>Math.abs(i))_e(n),e=!0;else if(!e&&Math.abs(i)>Math.abs(s))return!0;return t=!0,a.onSwipe(s,i,n)},onReset:()=>{t&&a.onReset?.(),e=t=!1},cancelEvent:!1})}var Ct=(a=>(a[a.MESSAGE=0]="MESSAGE",a[a.PRIVATE_POST=1]="PRIVATE_POST",a[a.STICKER_SET=2]="STICKER_SET",a[a.JOIN_CHAT=3]="JOIN_CHAT",a[a.VOICE_CHAT=4]="VOICE_CHAT",a[a.USER_PHONE_NUMBER=5]="USER_PHONE_NUMBER",a[a.INVOICE=6]="INVOICE",a[a.EMOJI_SET=7]="EMOJI_SET",a[a.ATTACH_MENU_BOT=8]="ATTACH_MENU_BOT",a[a.WEB_APP=9]="WEB_APP",a[a.ADD_LIST=10]="ADD_LIST",a[a.STORY=11]="STORY",a[a.BOOST=12]="BOOST",a[a.PREMIUM_FEATURES=13]="PREMIUM_FEATURES",a[a.GIFT_CODE=14]="GIFT_CODE",a[a.BUSINESS_CHAT=15]="BUSINESS_CHAT",a[a.STARS_TOPUP=16]="STARS_TOPUP",a[a.SHARE=17]="SHARE",a[a.UNIQUE_STAR_GIFT=18]="UNIQUE_STAR_GIFT",a))(Ct||{});function C2(a){return{_:"reactionEmoji",emoticon:a.reaction}}function Wn(a,e){return typeof a!=typeof e?!1:([a,e]=[a,e].map(t=>t._==="availableReaction"?C2(t):t),Pn(a,e))}function Tb(a){return a+(window.devicePixelRatio>1?"@2x":"")}const P1=Y("
"),_2=Y("
"),I2=Y("
"),P2=Y("