diff --git a/release/githubio/js/main.js b/release/githubio/js/main.js index 2f147e6a8..6d891f8da 100644 --- a/release/githubio/js/main.js +++ b/release/githubio/js/main.js @@ -1 +1,19 @@ -!function(a){var i="object"==typeof global&&global,L,q,z,G,R,F,U,H,J,Q,X,Y,K,W,Z,$,ee,ae,te,ie,oe,ne,se,le,de,re,ce,ue,fe,pe,he,_e,me,ge,ve,be,ye,we,xe,Ae,Se,ke,je,Ce,Ie,Pe,Me,Ve,Oe,Te,De,Be,Ee,Ne,Le,qe,ze,Ge,Re,Fe,Ue,He,Je,Qe,Xe,Ye,Ke,We,Ze,$e,ea,aa,ta,ia,oa,na,sa,la,da,ra,ca,ua,fa,pa,ha,_a,ma,ga,va,ba,ya,wa,xa,Aa,Sa,ka,ja,Ca,Ia,Pa,Ma,Va,Oa,Ta,Da,Ba,Ea,Na,La,qa,za,Ga,Ra,Fa,Ua,Ha,Ja,Qa,Xa,Ya,Ka,Wa,Za,$a,et,at,tt,it,ot,nt,st,lt,dt,rt,ct,ut,ft,pt,ht,_t,mt,gt,vt,bt,yt,wt,xt,At,St,kt,jt,Ct,It,Pt,Mt,Vt,Ot,Tt,Dt,Bt,Et,Nt,Lt,qt,zt,Gt,Rt,Ft,Ut,Ht,Jt,Qt,Xt,Yt,Kt,Wt,Zt,$t,ei,ai,ti,ii,oi,ni,si,li,di,ri,ci,ui,fi,pi,hi,_i,mi,gi,vi,bi,yi,wi,xi,Ai,Si,ki,ji,Ci,Ii,Pi,Mi,Vi,Oi,Ti,Di,Bi,Ei,Ni,Li,qi,zi,Gi,Ri,Fi,Ui,Hi,Ji,Qi,Xi,Yi,Ki,Wi,Zi,$i,eo,ao,to,io,oo,no,so,lo,ro,co,uo,fo,po,ho,_o,mo,go,vo,bo,yo,wo,xo,Ao,So,ko,jo,Co,Io,Po,Mo,Vo,Oo,To,Do,Bo,Eo,No,Lo,qo,zo,Go,Ro,Fo,Uo,Ho,Jo,Qo,Xo,Yo,Ko,Wo,Zo,$o,en,an,tn,on,nn,sn,ln,dn,rn,cn,un,fn,pn,hn,_n,mn,gn,vn,bn,yn,wn,xn,An,Sn,kn,jn,Cn,In,Pn,Mn,Vn,On,Tn,Dn,Bn,En,Nn,Ln,qn,zn,Gn,Rn,Fn,Un,Hn,Jn,Qn,Xn,Yn,Kn,Wn,Zn,$n,es,as,ts,is,os,ns,ss,ls,ds,rs,cs,us,fs,ps,hs,_s,ms,gs,vs,bs,ys,ws,xs,As,Ss,ks,js,Cs,Is,Ps,Ms,Vs,Os,Ts,Ds,Bs,Es,Ns,Ls,qs,zs,Gs,Rs,Fs,Us,Hs,Js,Qs,Xs,Ys,Ks,Ws,Zs,$s,el,al,tl,il,ol,nl,sl,ll,dl,rl,cl,ul,fl,pl,hl,_l,ml,gl,vl,bl,yl,wl,xl,Al,Sl,kl,jl,Cl,Il,Pl,Ml,Vl,Ol,Tl,Dl,Bl,El,Nl,Ll,ql,zl,Gl,Rl,Fl,Ul,Hl,Jl,Ql,Xl,Yl,Kl,Wl,Zl,$l,ed,ad,td,id,od,nd,sd,ld,dd,rd,cd,ud,fd,pd,hd,_d,md,gd,vd,bd,yd,wd,xd,Ad,Sd,kd,jd,Cd,Id,Pd,Md,Vd,Od,Td,Dd,Bd,Ed,Nd,Ld,qd,zd,Gd,Rd,Fd,Ud,Hd,Jd,Qd,Xd,Yd,Kd,Wd,Zd,$d,er,ar,tr,ir,or,nr,sr,lr,dr,rr,cr,ur,fr,pr,hr,_r,mr,gr,vr,br,yr,wr,xr,Ar,Sr,kr,jr,Cr,Ir,Pr,Mr,Vr,Or,Tr,Dr,Br,Er,Nr,Lr,qr,zr,Gr,Rr,Fr,Ur,Hr,Jr,Qr,Xr,Yr,Kr,Wr,Zr,$r,ec,ac,tc,ic,oc,nc,sc,lc,dc,rc,cc,uc,fc,pc,hc,_c,mc,gc,vc,bc,yc,wc,xc,Ac,Sc,kc,jc,Cc,Ic,Pc,Mc,Vc,Oc,Tc,Dc,Bc,Ec,Nc,Lc,qc,zc,Gc,Rc,Fc,Uc,Hc,Jc,Qc,Xc,Yc,Kc,Wc,Zc,$c,eu,au,tu,iu,ou,nu,su,lu,du,ru,cu,uu,fu,pu,hu,_u,mu,gu,vu,bu,yu,wu,xu,Au,Su,ku,ju,Cu,Iu,Pu,Mu,Vu,Ou,Tu,Du,Bu,Eu,Nu,Lu,qu,zu,Gu,Ru,Fu,Uu,Hu,Ju,Qu,Xu,Yu,Ku,Wu,Zu,$u,ef,af,tf,of,nf,sf,lf,df,rf,cf,uf,ff,pf,hf,_f,mf,gf,vf,bf,yf,wf,xf,Af,Sf,kf,jf,Cf,If,Pf,Mf,Vf,Of,Tf,Df,Bf,Ef,Nf,Lf,qf,zf,Gf,Rf,Ff,Uf,Hf,Jf,Qf,Xf,Yf,Kf,Wf,Zf,$f,ep,ap,tp,ip,op,np,sp,lp,dp,rp,cp,up,fp,pp,hp,_p,mp,gp,vp,bp,yp,wp,xp,Ap,Sp,kp,jp,Cp,Ip,Pp,Mp;i.global!==i&&i.window!==i&&i.self!==i||(a=i);var Vp,Op,Tp,Dp,Bp="#328df5",u="
",f=" ",e=" ",Ep="fglfgl27@gmail.com",Np=' ',Lp='
',qp='
',zp='
',Gp='',Rp='
',Fp="",Up="",Hp="",Jp="",Qp="",Xp="",Yp="",Kp="",Wp="",Zp="",$p="1DuhCT6L3VfBtFcS8FNfVXgBzE2rwCPx3x",eh="https://tinyurl.com/applag",ah="https://github.com/fgl27/SmartTwitchTV",th="https://github.com/fgl27/SmartTwitchTV/releases";function ih(){ve=e+ve+e,Ue=e+Ue+e,He=e+He+e,aa=e+aa+e,ma=e+ma+e,Xa=e+Xa+e,$a=e+$a,Bs=e+Bs+e,df=e+df+e,K+=e,ee+=e,ae+=e,te+=e,Zr+=e,ie+=e,de+=e,Se+=e,ke+=e,Hc+=e,_a+=e,va+=e,Qa+=e,oi+=e,ut+=e,ht+=e,_t+=e,wt+=e,kt+=e,It+=e,li+=e,di+=e,ci+=e,Oi+=e,yo+=e,Tu+=e,Du+=e,su+=e,_n+=e,mn+=e,vn+=e,bn+=e,sl+=e,Vn+=e,On+=e,Tn+=e,_s+=e,zn+=e,Gn+=e,as+=e,Yu+=e,Er+=e,Rs+=e,fl+=e,Ml+=e,Vl+=e,mc+=e,bc+=e,wc+=e,Pu+=e,xt=e+xt,Ws=e+Ws,Ks=e+Ks,fe=e+fe,sc=e+sc,ye=e+ye,we=e+we,Ae=e+Ae,Ce=e+Ce,je=e+je,Ne=e+Ne,qe=e+qe,ze=e+ze,Re=e+Re,Je=e+Je,ia=e+ia,oa=e+oa,na=e+na,sa=e+sa,la=e+la,ya=e+ya,Ya=e+Ya,Ka=e+Ka,Wa=e+Wa,Za=e+Za,nt=e+nt,rt=e+rt,vt=e+vt,Dt=e+Dt,lo=e+lo,ui=e+ui,fi=e+fi,pi=e+pi,Ei=e+Ei,pn=e+pn,co=e+co,hn=e+hn,gr=e+gr,kr=e+kr,nl=e+nl,ul=e+ul,gc=e+gc,$u=e+$u,ef=e+ef,af=e+af,lf=e+(lf=e+lf),Xe+=u,_||(ca=Sf),Fa=oh("https://github.com/fgl27/SmartTwitchTV#authorization",Fa,!0),Zp=f+Zp,Fp=G+" (C)",Up=q+" (D)",Jp=z+" (A)",Hp=R+" (A)",J+=xt,Q+=xt,va=va+vt+(ro=f+ro)+Ks,ue=Pi,Op='
'+f+no+u+f+'
'+f+f+nh("http://tiny.cc/help27")+f+"
",Dp='
'+f+Es+u+f+'
'+$p+f+'
',Tp='
Pix donations key (For Brazilians only)'+u+'
'+nh(Ep,"mailto:")+"
",ks=Lp+js+"
"+qp+Np+Cs+u+Np+Is+u+Np+Ps+u+Np+Ms+u+Np+Zs+u+Np+Vs+u+"
"+Lp+Os+"
",Qp=Lp+G+"
"+qp+Np+si+u+Np+En+u+Np+ga+u+Np+va+u+Np+ba+u+Np+Di+u+Np+ya+u+Np+wa+u+Np+xa+u+""+Lp+pa+""+(Zp=qp+Np+Ta+u+Np+Ma+u+Np+Va+u+""+qp+Np+Oa+u+Np+dl+u+Np+Da+u+Np+Ba+u+Np+dn+u+Lp+ha+""+qp+Np+Ea+u+Np+Ra+u+Np+Na+u+Np+La+u+Np+qa+u+Np+za+u+Lp+wo+""+qp+Np+Ys+u+Np+Zs+u+Np+xo+u+Np+Bo+u+Np+Ao+u+Np+ko+u+Np+jo+u+Np+Co+u+Np+Oo+u+Np+Io+u+Np+So+u+Np+Po+u+Np+Mo+u+Np+Vo)+u+Lp+ca+"",Xp=Lp+G+""+Zp+u+Lp+ca+"",Wp=Lp+Hs+""+u+ad+u+Js+u+u+Rp+eh+""+u+u+Qs+u+u+Lp+ca+"",Vp=Lp+ka+""+zp+nh(Ep,"mailto:")+""+u+u+zp+nh(ah+"/issues")+""+ep+u+u+Op+Dp+u,Yp=Lp+ra+"",Kp=u+u+Aa+u+Sa+(_?"":u+Rp+Ai+"")+Vp+Lp+Ia+""+Pa+u+zp+nh(th)+""+u+u+ja+u+zp+nh(ah)+""+u+u+Lp+Ca+""+zp+nh("https://tinyurl.com/sttvdependency")+""+u+u+Lp+ca+"",Pf=Li+Mf,zf=Hf+f+f+Gp+nh("https://github.com/Kwabang/K-Twitch-Bypass")+"",Rf=Hf+f+f+Gp+nh("https://github.com/onTDB/T1080")+"",Of=Hf+f+f+Gp+nh("https://ttv.lol/donate")+"",Jf=[qf,Vf,Gf,$t],$f=[$t,Wf,Zf]}function oh(e,a,t){return t?a.replace("%x",zp+nh(e)+""):a.replace("%x",Gp+nh(e)+"")}function nh(e,a){return''+e+""}function sh(){yx=!1,LQ=14.5,ro="or press key 2",Ks="or media key next track",L="Refresh",q="Search",z="Settings",G="Controls",R="About",F="Hide",U="The text you entered is empty",H="The search result is empty",J="Switch screen",Q="Switch user screen",X="Switch: VODs or highlights",Y="Switch: Period (24h, 7d, 30d, all)",K="Go to screen",W="User",Z="Live",$="Games",ee="Playing",ae="for",te="Watch time",Zr="Wait time",ie="Since",oe="A Game",np="Type your password...",ne="Type your search ...",se="Type your authorization key ...",le="Type your username and press Enter ...",de="Press Enter or Select key to,",re="Channels",ce="Channel",Pi="Back to the previous screen: Press return",fe="has ended",Pd=", checking host",pe="This video is only available to subs",sc="is sub-only content.",Mf=", navigate to the side panel (Top option) Add User or User: Switch, add, key, press enter on the user",he="Connection failed or there is no content for this. Refresh to try again",_e="Connection failed or there is no content for this. Press enter to Refresh",Ip="Connection failed or there is no content for this language. Change content language (hold left) or Press enter to Refresh",ve="for this",be="Connection failed, unable to load video content, exiting ...",ye="VODs",we="Highlights",xe="Clips",Ae="Content",Se="Streamed",ke="Duration",je="View",Ce="Views",Ie="Viewer",Pe="Viewers",Me="Click again to exit",uo="Click again to exit picture in picture",xs="Click again to exit multistream",Ve="Do you want to exit SmartTV Client for Twitch?",Oe="Exit",Vc="Changelog",Oc="Full changelog",Tc="These are just the latest changes, to read the full changes, check out the link below:",Dc="Click to Update",Bc="Check for Updates",zc="Checking for Updates ...",Gc="Update check failed",Rc="The app is up to date",Ec="Updates & Changelog",Nc="Latest change:",Lc="Update process failed, please try manually!",qc="Update process failed to download the APK, please try manually!",Fc="APK Update available",Uc="Web Update available",Jc=", check the side panel for updates",Hc="Last checked:",Qc="Updates options",Xc="Check for updates in background",Yc="Show the updates dialog when updates are available",Kc=["Yes","Only a toast message",ge="No"],Wc="Update process started. This may take a few seconds, please wait!",Zc="If Play Store doesn't show the update, try again after a few minutes!",$c="You need APK version 3.0.303 or newer to be able to use this, please update the old way!",eu="App updated successfully",Te="Close",De="Minimize",Be="Cancel",Ee="Rerun",Ne="Channels live",Le="Hosts",qe="Games live",ze="Followed Channels",Lo="My Channel",Ge="Add User",Re="Remove User",Fe="User doesn't exist",Ue="hosting",He="hosted by",Je="already set",Qe="Switch to",Xe="First user can (when providing a key) follow and see live channels feed outside of the user screen",Ye="Add a Twitch user to display its Followed Channels content here",Ke="24h",We="7d",Ze="30d",$e="all",ea="Jumping",aa="to",ta="Jump Canceled",ia=", jump time bigger than duration",oa="Sec",na="Min",sa="Ms",la="Hr",da="Source",ra="SmartTV Client for Twitch",ca="Press return or enter to close this",ua="Press return to close this",fa="Press return to show the update dialog or enter to close this",pa="Player related:",ha="Chat related:",Sn="Show chat",_a="Currently installed version",ma="latest available version",ga="Play a video: Navigate using (up/down/left/right) D-pad, press enter, play/pause, preview track media keys or key 1",va="Refresh screen content:",ba="Exit the application: Click exit in the side panel",Di="Force close the application: Hold return until it auto force closes",ya="Switch screens: Press return, then up/down D-Pad or "+(xt="PG up/down")+" "+(Ws="or fast forward rewind media key"),wa="Start a search: In the side panel, click search, type in your query, and press enter on the virtual keyboard, then choose one of the searching options",xa="About this application: Click about in the side panel",Aa="This is an Android TV Twitch Client, released for free to anyone who wants to use it.",Sa="This app has no affiliation with Twitch, this is a user-made app, but is only possible because Twitch provides all the API that allows the app to show the Twitch content.",Ai="This version of the app is only for testing in the browser!",ka="Contact information:",ja="This is an open source application licensed under the GNU General Public License v3.0, check it out on GitHub:",Ca="To see the application dependencies use the link:",Ia="Phone and tablet support:",Pa="It is possible to use this app on phones and tablets, but this app is designed to be used mainly on TVs. Support for other devices is limited, and because of that, it is not released on the Play Store. Use the link below to download the latest APK and manually install the app on a phone or tablet:",Ma="Show the information panel: Press enter or D-pad keys if the chat and the live channel feed aren't showing",Va="Close the video: Press return twice or the stop media key",Oa="Pause/play a video: Open the information panel and click on the pause icon",Ta="Show preview feed: Up D-pad",Da="Change video quality: Choose the 'Quality' option at the bottom of the player",Ba="Force refresh a video (in case it freezes): Change video quality to the same",Ea="Show or hide the chat: Down D-pad or key 3 "+(Zp="or in the controls at the bottom of the player"),Na="Change chat position: Left D-pad, PG up or the rewind keys (VODs and clips only) "+Zp,La="Change chat size: Right D-pad, PG down "+Zp,qa="Change chat background brightness: Change in the controls at the bottom of the player",za="Force refresh the chat in a live (in case it freezes or doesn't load): Choose the 'Chat force disable' option at the bottom of the player (click twice)",Ga="Start a search: Open information panel, navigate using use Directional pad (left/right) to 'Search' and press enter",dn="All media keys are supported (play, pause, stop, next track, fast forward etc ...), some are used as shortcuts for audio and video mode changes",Ra="Chat and video (side by side): Key 2 or the fast forward media key. It also switches between the picture in picture and the 50/50 mode",Ci="Force disable chat",Fa="Adding a key allows the app to access chat using your user to send messages and get your emote list (enables you to be gifted subs given in chat), follow/unfollow channels, and access some user content faster.

Adding a key is not demanding and can be done at any point later.

In doubt read the contents of this link:

%x

For some devices, a mouse is necessary to complete the authorization action as you may need to manually click on a button to confirm certain actions.

Add a key for",Ua="Add an authorization key",Ha="Key added successfully",Ja="Key test failed, new one needs to be added",Qa="You try to add a key for user",Xa="but this key is for user",Ya="Following",Ka="Not Following",Wa="and you haven't added an authorization key, so the app can't check your sub status.",Za="and you aren't a sub of this channel",$a="You are a sub of this channel, but an unknown issue has prevented this from playing.",et="Failed authorization check with the provided key, please check and try again",oi="The added key doesn't belong to the user",at="No user",tt="Set user and an authorization key to be able to follow/unfollow",it="Third party apps can no longer follow/unfollow channels (The button can only show if you follow)",Li="Set a user and authentication key to be able to see the followed content",ot="Restart the",nt="Clip",st="Channel content",lt="Network is disconnected. The application can't work without INTERNET.",dt="Network connection reestablished",rt="Followers",ct="Follower",ut=", Can't follow or unfollow",ft="Game content",pt="Yes",ht="Are you sure you want to remove the user",_t="Press Up to",mt="Followed Live Games",gt="Change between",vt="Hold enter",bt=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"],yt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wt="Started",At="Videos",St="Replay",kt="exiting in",jt="Press 'Return' to exit",Ct="Front Page",It="Created",Pt="Open the VOD",Mt="Open the Last VOD",Wu="Is now live",Cu="Show 'Streamer is live' warning",Iu="When watching a clip or a VOD, the app can check when a streamer is live. If this is set to YES, a warning will show. To open the live, just use the controls at the bottom of the player.",Wr="Click to open chat and/or wait to be back live",zr="Stay on the stream",Gr="Stay on and recheck to see if it comes back live",Rr="Check if stream is live in:",Fr="Checking if is live ...",Ur="Last result:",Hr="The stream was offline",Vt="No VOD",Ot="There are no VODs for this clip",Tt="and because of that no chat",Dt="is now",Bt="Open the Hosting",Et="Player related",Nt="Start buffer size:",Lt="How much is needed to buffer before starting the playback. This is not related to the maximum size that the buffer can reach (the maximum buffer size is based on the amount of RAM on the device). A lower value here will cause the playback to start sooner and that is always recommended. Changing this value to a bigger value will in most cases not cause any improvements, but rather setbacks.",zt="Videos (past broadcasts and highlights) start buffer",Gt="Clips start buffer",Rt="Language",Ft="Chat: Connecting to",el="Connecting timeout, Failed to log ...",al="Chat: Connected",ru="Message sent, but chat delay is enabled, so the message will show up in chat after.",so="Chat: delay",Ut=(Sr="Play from the start or from where you stopped watching the")+" VOD?",Ar=Sr+" LIVE?",Jt=(Ht="From:"+u)+"Start",Qt="Chat: The Chat has ended!",Xt=", Most recent",Yt=", Most views",Kt="Add a user authorization key to be able to see followed videos",Wt="Switch: Most recent or views",tu="Enable",Zt="Enabled",wd="Dark mode",yd="Bright mode",hi="The app was closed while playing, restoring the playback",ei="Restore playback",ai="The app saves what it was playing in case it gets closed unintentionally. Changing apps may cause the system to run out of memory and close it, in this case, on the next startup, the app restores what was previously being played.",ti="Chat font size",ni="Video animated thumbnails",ed="When a VOD or a highlight is selected, animate the thumbnail if an animated thumbnail is available for that video (not all videos have one).",si="Side panel: Press left D-pad or return",li="Size",di="Brightness",ri="Forbidden content, this is restricted in your region or restrained to the official Twitch app.",ci="Jump step",lo="second",ui="seconds",fi="minute",pi="minutes",_i="Clock offset",jc="Adjust main app clock in relation to your choosing.",mi="Content language",gi="The language of the content on the screen, lives, VODs, clips.",vi="Application language",bi="The language of the app's text.",yi="Press enter to access",xi="Can't get game from this",xr="Empty",Si="Isn't possible to jump during buffering",ki="Chat is force disabled, enable it with the 'Chat force disable' option at the bottom of the player",ji="This clip/video failed to load. Can't replay",Ii="Chat background brightness",Mi="Play Next",Oi="Playing next in",Vi="Play All",Ti="Auto play next clip",Bi="Back to main menu",Ei="Press up",pn="Hold UP or key 2",Ni="Live Feed",Pr="VOD start dialog",Mr="Choose the default behavior, if the VOD info is present in user history when playing one, it can be played from where you last stopped watching. If you set this option to 'Always from the start', this behavior will also be applied to the VOD preview.",Vr="Always from the start",Or="Always from the last stop",Tr="Always ask",$d="Player end dialog options",qi="Player end dialog timeout",zi="When a live/VOD/clip ends, a dialog shows with an option for what to do next. Set the time (in seconds) that it'll take for the default option to take action.",Gi="Disable the timer",Ri="Chat size",Fi="Chat position",Xi="Video mode",Do="Big plus small screen",Hi="Side by side, video and chat",To="50/50 and chats",Ji="Speed",Qi="Quality",Yi="Normal",Ki="Auto",$i="Very low",eo="Low",ao="High",to="Very high",io="Thumbnail quality",oo="Default thumbnail resolution for lives, videos and games (can't be applied for clips). A lower value will help the app load faster, but the thumbnail may look blurry.",no="Paypal donations, use the link or QR code:",Es="Bitcoin donations, use the wallet address or read the QR Code:",co="Connection failed, unable to load stream info",fo="Player restart",Lu=["Small","Big",gs=wi="All"],ou=[gs,"Top left","Top right","Bottom left","Bottom right"],nu=[gs,"Top","Bottom left","Bottom center","Bottom right"],vo="Unlimited",ho="This is used to prevent lag on low-end devices when playing multiple videos at the same time (most devices will lag by skipping frames in that situation, as they are only made to play a single video). Also helps limit the internet bandwidth use in case you need a limit that also sets the 'Default player quality' to auto quality. The recommended resolution/bitrate for all small players is 720p/3 Mbps and unlimited for main or big players for most low-end devices.",go="Different values here for main and small player resolution and or bitrate may cause a short buffering/loading when changing it with the main player in picture-in-picture mode (pressing down will change the players). To prevent this, set both values to the same at the cost of possible lag. The best indication of too high of a bitrate is a constant accumulation of skipped frames or a constant buffering of the stream.",_o="Bitrate - "+(_u="Main player, for the big player of the picture in picture or the Top player 50/50"),mo="Bitrate - "+(gu="Small players, for the small player of the picture in picture mode and all multistream players"),mu="Resolution - "+_u,gu="Resolution - "+gu,cu="Blocked resolutions",uu="When using auto quality, it's possible to block one or more resolutions from ever being used. This is useful for devices that lag playing at a particular resolution. As clips can't be played in auto mode, this will also block the automatic part of this resolution in a clip.",fu="The user can overwrite the selection manually during the playback.

XX means that all resolutions starting with same value before the XX will be denied from being used if that resolution is marked as blocked.",pu="Blocked",hu="Not blocked",yo="Audio source",Bu="Audio & Volume controls",Vu="Audio enable all",Nu="All audio sources enabled",Ou="Volume all to 100%",Eu="All player volume set to 100%",Tu="Volume -",Du="Audio -",Wi="Default player quality",Zi="This option will always override others when playing a single video. In picture-in-picture or multistream mode, the playback needs to use auto quality. The reason for why that can be found under the settings option '"+(po="Auto quality maximum allowed Resolution/Bitrate")+"'.",wo="Picture in picture, 50/50 or multistream (for lives only):",xo="Enable picture in picture mode: Press up when playing a video. To show the preview feed, choose a stream, then hold enter or press key 1 to start",Ao="Change video content: If in multiplayer mode, always single-click from the player preview. If on picture in picture or 50/50, a single click updates the big or top video, and holding enter or pressing key 1 updates the small or bottom video",ko="Change content between videos (only picture in picture): Down D-pad. Big becomes small and vice versa",jo="Change small video position (only picture in picture): Left D-pad",Co="Change small video size (only picture in picture): Right D-pad",Io="Change audio source: Choose the 'Audio source' option at the bottom of the player. If in 50/50 or multistream, use left/right D-pad. If in picture in picture, use previous/next track media keys",So="Change audio source for all videos: Hold down D-pad.",Po="Player restart: Choose the 'Player restart' option at the bottom of the player. This will only restart the players, which is useful fpr syncing the player and the chat. This will not sync one player's content with another's",Mo="Manually sync players: The workaround is to choose the 'Speed' option at the bottom of the player to slow down the stream that is in front or vice versa. Only works for picture in picture mode",Vo="Picture in picture video quality: Check the in-app '"+po+"' settings",Oo="Close small or bottom video (only picture in picture): Pressing return twice will exit picture in picture or 50/50 mode",Bo="Enable 50/50 mode (two streams and two chats): If picture in picture is enabled, press key 2, the fast forward media key or use the 'Video mode' option at the bottom of the player, or if already in its 'Side by side' mode, hold enter over a tile in the preview feed",Ys="Enable multistream: Use the controls at the bottom of the player or the rewind media key",Kr=["When player info is visible","Always visible","Never visible"],Eo="Single return press",No="Exit the player, picture in picture, 50/50 or multistream mode with a single key return click.",Kl="Notification options",qo="Show 'Streamer is live' notification for followed channels",Pc="Show 'Streamer changed title' notification for followed channels",Mc="Show 'Streamer changed game' notification for followed channels",Ic="Show 'Game is live' notification for followed games",cl="Notification over other apps when the app is running in the background",Nr="If you disabled notifications for this app in the system settings, this feature won't work. If the app notifications are already running and you exit the app, the notification will show over other apps, even if this is disabled.",Qr="Number of times an individual notification in shown",Xr="The individual notification timeout is around 3 seconds, and can't be changed, because this timeout is controlled by the system, but you can set the number of times the same notification shows with this option.",oc="Prevent showing 'Streamer is live' notification for streams that are live for over",nc="This is useful to prevent the app showing a long list of notifications when the app is not used for some time, for example when you turn off the device, or for when the screen is off (the app will not show notification in case the device is on but the screen is off).",zo="Global app font size offset",Go="This will change the size of all text and most icons in the app (minus chat font size, because it has its own control), too small value may not be visible too big value will overflow the text box holder, that is way this value is limited, changing this will refresh all screens.",Ro="Main Menu",Fo="User Menu",Uo="Is offline",Jo="Rounded channel images",Qo="As most channel images are squares, some images may not look great.",Ho="Hide Position/Total counter",Vd="There is a position counter that informs the current position, and the total loaded content on screens that have playable content. As you scroll, more content will load, and the total gets updated.",Xo="Switch: Starting Position offset",Yo="Instead of starting at the first possible video, start a a lower position on the list, so there is no need to go lower down to find an older video.",Wo="Choose an option for user",Ko="Main user",Zo="Click on a user to see options",$o="User: Switch, add, key",ln="If you start getting buffer issue, disable "+(en="Low latency")+"
Use "+(qt="Lives start buffer")+" equal or below 1 for this to have effect",kc="Games Preview sorting",an="Side panel or player preview sorting",tn="Sorts side panel live feed and player preview. On the preview, this only applies to the user's live and front page (all non-history are view based, history is last watched first, and VOD is the most recent).",on="Alphabetical A - Z",nn="Alphabetical Z - A",sn="Enable app animations",$l="Enables side panel, scroll and related animations.",Zl="Customize interface, color style, animations and related",xc="Customize content, sorting, auto refresh, timeouts and related",me="Hide the side panel after 5 seconds of not using it",rn="App running for:",cn="Unable to get video link",su="Press enter to change to -",un="(Press enter to unfollow)",fn="(Press enter to follow)",hn="Today",_n="Skipped Frames:",mn="Buffer Size (Sec):",vn="Net Activity (Mb):",gn="Net Speed (Mb):",bn="Latency To Broadcaster (Sec):",du="Based on "+(lu="Latency To Broadcaster"),sl="Ping to Twitch (Ms):",Od="Warnings",yn="Welcome to",wn="This application has a lot of features and was designed to give the user full control of it, because of that it has many options, controls and customizations. Check the app settings and controls to understasnd how to use it. In doubt, check the Play Store demonstration video, if still unsure, use the contact info.",xn="Cellphones warning",An="This app is designed to be used mainly on TVs, the support for other devices is limited and may never receive a better support. If you don't have a keyboard or a D-pad + enter and return controller (ESC works as a return on a computer), use the virtual on-screen keys to navigate (only visible on phone/tablet devices). In settings you can change the position and the opacity of the virtual D-pad, click anywhere on the screen to show the virtual D-pad. When it's hidden, it doesn't work.",kn="D-pad screen position",jn="D-pad opacity",Wl="D-pad options",Cn="Blocked codecs",In="List used codec capabilities and allow blocking a codec from being used.",Pn="Software codecs (OMX.google) usually have the worst performance, but on some devices, they may have the advantage over hardware codecs. Using these ones can block those, so check if the performance of the playback improves, by default, the OMX.google decoder is disabled (if another codec is available). A constant accumulation of skipped frames is an indicative of a codec issue.
The app content only uses avc/h264 decoders, no others are listed.",Mn="Supported codecs:",Vn="Max resolution:",On="Max bitrate:",Tn="Max level:",Dn="Max fps per resolution:",_s="Max instances:",ms="Unknown",Bn="At least one codec must be enabled at all times.",En="User live side pannel: Left D-pad from the side panel or key 3 from anywhere",Nn="Multiplayer, PP and preview mode workaround",Ln="For some devices usually running old versions of Android, it is necessary to enable this to have multiplayer mode working properly. Usually, the issue is that the player (PP or preview) will not be visible, or even when not in use it is visible as a black box over the main player. Don't enable this if you don't have issues, as it will result in lower image quality and possible loss of performance",qn="History",zn="Watched on",Gn="until",Rn="Sorting",Fn="Delete this history",Qu="Automatic delete unreachable content",Xu="If this is set to YES, the app will automatically remove VODs and clips that are unreachable (Have been deleted by the streamer/creator) from the history",Un="Name A - Z",Hn="Name Z - A",Jn="Game A - Z",Qn="Game Z - A",Xn="Most views",Yn="Least views",Ac="Highest channel quantity",Sc="Lowest channel quantity",Kn="Most recently watched",Wn="Oldest watched",Zn="Press enter to delete",$n="This live is now a VOD
opening the VOD from where you last stopped watching the live:
",es="Allow the app to make and restore backups?
(Users and their history will be backed up)

If you click Yes, the app will save backups for future use, and restore a saved backup if app data is empty.Is necessary to give the app storage permission for this, so give before click yes.

If you don't give storage permission, no backups will be ever made.

The Backup folder path is Main_Storage/data/com.fgl27.twitch/Backup",as="Are you sure you want to delete all",ts="Created / Uptime newest",is="Created / Uptime Oldest",os="Thumbnail Options",ns="Enable live history",ss="Enable VOD history",ls="Enable clip history",ds="Open the game",rs="Open the channel",cs="Press enter above an action (to open or apply it), return to exit without applying",fs="Delete this from history",us="Checking follow status ...",ps="Refresh the screen after deleting to see the change.",hs="Hold left for thumbnail options",vs="Choose with to replace by the above?",bs="Press enter to replace or return to exit without.",ys="Already playing this",ws="Unable to open preview",Ku="Picture in picture mode",Yu="Your device only supports %x codec instances (player playing) at the same time, can't use",As="Ended and/or empty",Ss="4-way multistream",js="Multistream help:",Cs="If you are having lag issues after enabling multistream, try lowering the value of 'Small player bitrate' in settings, accumulation of skipped frames or constant buffering is an indication of too high bitrate or too slow internet",Is="Add streams: open preview feed key up and click on a live",Ps="Replace streams: after multistream is full, choose one from preview feed and choose one to replace from the dialog",Ms="Change audio source: D-pad right or left or media keys next previews track, hold down to audio source all videos",Vs="Exit multistream: Press return twice or exit through the option at the bottom of the player.",Os="To close this, open 4 lives",bo="Picture in picture: Hold enter or press key 1, after use D-Pad left to move, right to resize or down to change videos",Ds=", Click on a thumbnail to open or replace a stream, use D-pad left/right to change audio source",Ts=", Press return to go back to top menu",Bs="Press return to go back to",ur="Show preview on the live screens",pr="Starting playback from where it last stopped:",fr="Show preview on the VOD screens",_r="Show preview on the clip screens",wr="When a clip preview ends, automatically switch to the next available clip.",ir="Show preview on the side panel",Ns="Show preview on the player preview thumbnails",Cd="If you don't want to, or your device lags when more than one player is active, set this to NO.",Ls="Disable preview when multistream is enabled",Id="For performance reasons, some devices may lag with multiple players. If yours is fine for multistream, but lags when the preview player and a multistream are active, set this option to NO.",mr="Preview failed to load:",gr="unreachable",kr=", this VOD may have been deleted",hr="Preview video has ended",vr="Player unable to play due to a network connection issue",br="Player unable to play due to player error",yr=", try to lower small player bitrate value in settings",sr="Player preview size",lr="Set the size of the preview player the small preview player that show when pressing up when a Live, VOD or clip is open.",dr=["Small","Medium","Large","Extra large"],Br="Screen preview size",Er="Set the size of the preview player that show above the main app screens.",Qf="Screen preview volume",Xf="Set the volume of the preview player that show above the main app screens and side panel.",Dr=["Thumbnail size","Larger"],qs="Preview delay",zs="Set the delay time that the preview will take to start loading after a thumbnail is selected. This helps with slow devices which lag when scrolling.",rr="Player Preview volume",cr="Set preview player volume, the small preview player that show when pressing up when a Live, VOD or clip is open.",or="Main player volume (When preview is showing)",nr="The main player (all picture in picture players, multistream players) volume can be lowered when the preview player is showing.",Yl="Preview thumbnail player settings",Gs="Always start the app in the user screen",td="This option disables the 'Restore playback' option, but allows you to choose the user upon opening the app.",Rs="Last refreshed:",Fs="Exit picture in picture or multistream to open this VOD",Us="Show 'an accessibility service is running' warning",ad="If the device has an accessibility service enabled, the app will show a warning. It's a known android issue that accessibility service can lag some devices and cause freezes or lags on this app.",Hs="Accessibility service(s) detected",Js="Read more on this link:",Qs="If you have freezes or lag related issues, close this app and disable all accessibility services, after that, all issues will be gone.
To not show this warning ever again, disable it in settings.",Xs="Auto refresh timeout",id="When this is enabled, the app will auto refresh a screen or a preview thumbnails screen, the refresh happens only when the screen is selected. If you want a refresh in the background, enable the below option.",ac="Auto refresh in the background",tc="When 'Auto refresh timeout' is set and this is enabled, the auto refresh will happen in the background (but with the app visible, android doesn't allow to run unrestrictedly in the background in order to avoid lagging other apps). When the screen is not visible or when you go back to a screen that the refresh didn't run before, be careful, because if the app has too many screens when this option is enabled, the auto refresh may cause random lag on some low-end devices.",$s="Main video",Zs=(tl="Multistream main video")+" bigger and chat: Press the down key and after that use the left/right keys to change the big video",$r="Automatically change player quality from Source to Auto when the player lags",ec="When this option is enabled, and you aren't using auto quality, the player will switch to auto quality and warn about it if the player is lagging. A player lag is for example when the player is unable to play for over 15 seconds (the algorithm is more complex than just time of course), after this, changing the player will automatically go back to the source when you open a new VOD stream.",il="Player is lagging, quality changed to 'Auto mode'",ll="Player is lagging, quality was lowered",ol="Preview, stream ended"+(nl="or too many errors"),dl="Forward or rewind (only for VODs and clips): Use the left/right D-pad or the fast forward/rewind media keys",rl="A portion of this is muted as it contains copyrighted content, indicated by the darker colored portions on the play bar",ul="has gifted you a sub!",Md="Anonymous",fl="You are permanently banned from talking in",pl="Write to chat",Mu="Chat extra settings",hl="When this is selected, press enter to show onscreen keyboard. If you have a physical keyboard connected, press return or esc to hide the onscreen keyboard",_l="Chat ROOMSTATE:",ml="No restrictions",od="Options",vl="Delete all",Dl="Unicode Emoji",bl="Twitch emotes",yl="BTTV global",wl="BTTV streamer",xl="FFZ global",Al="FFZ streamer",Sl="7TV global",kl="7TV streamer",jl="@streamer",Cl="In Chat expected result:",Il="Send",Pl="This emote list is empty",Ml="Chat is in Followers-only mode, and you are not a follower of",Vl="and you have only been following for",Ol="Twitch Emote-only mode",Tl="Choose which chat to write to or press return to close this",Bl="Write to chat options",El="Software Keyboard auto hide",Nl="Allows to control the behavior of the on-screen software keyboard. If you have a physical keyboard connected, use it, if not, set to never",Ll="Never",ql="If Keyboard detected",zl="Always",Gl="Emotes sorting",Fl="If this is disabled, the lists of emotes will be shown in the order, provided by the server.",Ul="Force show chat",Hl="If you want to see the chat when write to chat is used, enable this",Rl="Add a user authorization key to be able to log and write to chat",Jl="Chat not ready to send! Try again is a second or two.",Ql="Redeemed highlight My Message",Xl="Redeemed send a message in sub-only mode",gl="Chat options",md="Highlight messages from the streamer (Dark pink background)",gd="Highlight messages from moderators (Dark cyan background)",vd="Highlight reward messages (Purple background message only)",nd="Highlight @streamer messages (Dark red background, the '@' is blue)",sd="Highlight your @username messages (Dark Green background, the '@' is blue)",ld="Highlight your sent messages (Dark Green background)",dd="Show sub messages in chat (Dark orange background)",rd="Highlight bits messages (Dark Yellow background)",cd="Show Action messages (usually from stream bots)",ud="These messages are usually equal to sub messages, but sent via a stream bot, so if you have 'Show sub ...' enabled, it's redundant.",fd="Background color difference between individual messages",pd="Modes are 'disable', 'enable' (auto mode), Bright or Darker. In auto mode, if the chat is above the stream, the odd message will have a darker background accent color from the even. If the chat is not above (side by side for example), the color will be bright.",bd="Insert a line to separate individual chat messages",ii="Animated scrolling when adding a new chat message",hd="Logging in the chat with the current user",_d="The app will always log to chat using the current user when an authorization key is provided, unless chat is disabled within the controls at the bottom of the player, but if this option if set to NO, it will prevent logging using current username, and will instead log as anonymous, even with a provided authorization key. This doesn't prevent from sending chat messages for this user, if a key was added, but does prevent from knowing if you are banned in the chat and prevents from seeing the chat's ROOMSTATE.",ff="Block bots and bot commands (!command) from show in chat",Yr="Show message timestamp",xd="Readable nick colors",Ad="Instead of using the default nick color that sometimes can't be readable on a dark background, use a custom easily visible color.",ar="Clear chat, delete user messages",hc="This single user message was requested to be deleted",_c="All messages from this user were requested to be deleted",mc=", they've been timed out for",tr="Delete chat messages from a specific user (typically after they've received a timeout or ban). Deleted messages will always have a blue background, the message will be deleted if this is set to yes, if not, only the background color will change.",Sd="Always open the hosted live at the end of the stream if available",Jr="Always stay with the player opened after a live ends",kd="Show 'Ping to Twitch fail' warning",jd="The app constantly checks the connection with Twitch via a ping. If it fails too many times, a warning will show. If you believe this warning is showing unintentionally, set this option to NO.",Td="Key hold timeout (in milliseconds)",Dd="How long you need to hold a key for until a hold action happens. Actions such as refresh the screen, show thumbnails options etc.",Bd="Current focus style",Ed="New focus style",Nd="Press up/down to select an option, press return to exit this, press enter on 'Apply changes' to confirm before exiting.",Ld="Shadows",Gd="None",Rd="White",Fd="Gray",Ud="Black",qd="Colors",zd="Result",Hd="Apply changes",Jd="Color type",Qd="Styles",Yd="Background,Text,Border,Watched progress bar",Kd="Default,Custom,White,Grey,Red,Orange,Yellow,Green,Blue,Purple,Pink",Wd=(Xd="Press enter")+" to accept RGB change",Zd="Selected thumbnail style",er="Open in an external player",jr=["Left","Right"],Cr=["Bottom right","Center right","Top right","Center top","Top left","Center left","Bottom left","Center bottom"],Ir=["Right","Center","Left"],qr="Notification position on the screen",Lr=["Top right","Top center","Top left","Bottom left","Bottom center","Bottom right"],ic=[au="Disable","Normal mode, may cause re-buffers","Lowest mode, may cause even more re-buffers"],iu=[en+" - "+($t="Disabled"),en+" - Normal mode",en+" - Lowest mode"],lc="VOD fast backward/forward controls",dc="Controls how fast the backwards/forward steps will work. When clicking and holding left/right, the step time will increase. After the increase timeout has passed, it will increase up to the maximum step time. Then, after releasing the key, and not clicking for one second, the step time will reset back to the minimum step time.

Pressing up will overwrite the mim/max value, allowing you to go through all the possible steps and lock the value until the progress bar is dismissed.

Doing single-clicks without holding the key will not increase the time.

These options only work with VODs. For clips, the step is always 1 second.",rc="Minimum (starting) step time",cc="Maximum step time",uc="Increase timeout after holding for",fc="press up to lock the step value",pc="locked press up to change",gc="In chat",vc="Show total logged in users on top of the chat or viewers",Cc="This is very helpful to know, for example if the offline chat has any user to talk to, also lets the user know the difference from total viewers VS total chat users.",Fu="Show viewers",Uu="Show chatters",bc="Played",yc="Chapters",wc="from",bu="Hide main screen clock",vu="Hide player clock",yu="Hide main screen title",xu="The center title, lives, clips, settings etc ...",wu="Hide on-screen navigation tips",Au="Navigation tips, such as 'Hold a key for an action' and related.",Su="Automatically minimize the app when inactive for",ku="Prevent the app from keep running when no one is watching it. A warning will show up, giving the user 15 seconds to press any key to prevent the minimizing.",ju="The app will auto minimize due to inactivity in

%x

Press any key to cancel",Pu="Remaining:",Ru="Player status visibility",zu="Preview settings",qu="Show preview",Gu="Preview size",Hu="OLED Burn in protection",Ju="When this is enabled the screen will fully turn black for 50 ms once every 20 minutes. Only needed for devices with OLED displays that have issues of burn-ins.",Zu="as",$u="milliseconds",ef="hour",af="hours",tf="Right",of="Left",nf="Bottom",sf="Top",lf="Avg",df="Offset",rf="Affiliate content",cf="If you don't wanna to see the affiliate content set this to disabled.",uf="This application has some affiliated links and images, from partners that have highly recommended products, the application owner may receive commissions for purchases made through those links, all links, images or anything related to a product are properly verified and or used before be displayed on the application.",pf="The affiliated content can be disabled in settings.",hf="The app history shows what you have watched in the app only if history is enabled",_f="the preview",gf="Embed player ",mf="Click here to exit the player",vf=Ui="Full screen",xf="Click, press 9 or F11",bf="This is not supported on a browser",yf="Browser warning",wf="This app is designed to be used mainly on TVs, the support for other devices is limited. You can control the app using a mouse but it works better using the keyboard keys up, down, left, right, enter and return controller (ESC works as a return).",Af="Click twice above an action (to open or apply it), click outside the dialog to exit without applying",Sf="Press return, enter or click outside to close this",kf="Enable Live and Vod Twitch player",jf="This is only needed to disable if you want to see the Android player to check its strings and layout for testing proposes",Cf="Use the keyboard for this feature",If="Fail to load VOD info",Hf="If you wanna know more or thanks the proxy server maintainer use the link:",Vf="TTV LOL",qf="K-Twitch-Bypass",Gf="T1080",Ff="Proxy timeout (time in seconds)",Uf='If the proxy server is out this will be the time that will take to "give up" on the connection and fallback to default Twitch implementation',Tf="Proxy: ",Df="Enabled and working",Ef="Disabled in settings",Bf="Not working, fail %x times",Nf="Proxy Settings (Internet censorship and related proxy)",Lf="Only one proxy can be enable, enables proxy server to get stream links from a different server, that may allow you to see content that is forbidden on yours region and avoid ads, disable this if you have any live stream issue too many or longer buffers, freezes or slow connection that may cause the stream quality to drop.",Yf="Seek Preview",Kf="Allows to control the VOD seek preview image that shows when rewind or fast forward, seek preview isn't available to all VODs.",Wf="Single image",Zf="Carousel of images",ep="(Click New issue)",rp="Confirm",sp="No changes to mature content due to missing password",op="Protect mature changes with a password",lp="Set an password and click Confirm, exit will reset the mature settings",dp="Enter the saved password and click Confirm, exit will reset the mature settings",ap="Mature content is disabled",tp="Mature content",ip="When disabled the app will block all content marked as mature including followed content, that includes lives marked as mature, and all content from clip and VOD sections",cp="Screen off (Audio only)",up="Unblock channel",fp="Unblock game",pp="Block channel",hp="Block game",_p="Add a user first before being able to block",mp="Can't get the channel for this",gp="Show blocked",vp="Sorted by blocked date",bp="Sorted by name A to Z",yp="There is no blocked content of this type",wp="Without adding a user and authorization token the app, may fail to load the content, this is a Twitch API limitation",xp="The app is failing to load the content due to a Twitch API limitation, to fix this add a user and authorization token.",Ap="Visit %site on another device and enter the code: %code",Sp="Checking access confirmation in %d...",kp="Checking now!",jp="Can't access the add user service",Cp="Lost access to current user, please revise the user section",Mp="Wrong password!",Pp="Mature content is enabled, old password deleted"}function lh(){yx=!1,LQ=17,L="Actualizar",q="Buscar",z="Configuración",G="Controles",R="Acerca de",F="Ocultar",U="El texto que ingresaste está vacío.",H="El resultado de la búsqueda está vacío.",J="Cambiar de pantalla",Q="Cambiar pantalla de usuario",X="Cambiar: Vods o Highlights",Y="Cambiar: Periodo (24 h, 7 días, 30 días, todos)",K="Ir a la pantalla",W="Usuario",Z="En directo",$="Juegos",ee="Jugando",ae="para",te="Viendo hace",Zr="Tiempo de espera",ie="Desde",ne="Escriba su búsqueda ...",se="Escriba su clave de autorización...",le="Escriba su nombre de usuario...",de="Presione la tecla Enter o Seleccionar para,",re="Canales",ce="Canal",Pi="Volver a la pantalla anterior: tecla de retorno",fe="ha terminado",Pd=", comprobación de host",pe="Este video solo está disponible para suscriptores.",sc="es contenido solo para suscriptores.",he="La conexión falló, no se pudo cargar el contenido. Presiona actualizar para volver a intentarlo",ve="for this",be="La conexión falló, no se pudo cargar el contenido de video saliendo...",ye="Vods",we="Destacados",xe="Clips",Ae="Contenido",Se="Transmitido",ke="Duración",Ce="Vistas",Ie="Espectadores",Me="Haga clic de nuevo para salir!",uo="Pulse de nuevo para salir de Imagen en Imagen!",xs="Pulse de nuevo para salir de MultiStream!",Ve="¿Quieres salir del Cliente SmartTV para Twitch?",Oe="Salir",Vc="Cambios",Oc="Registro de cambios completo",Tc="Estos son sólo los últimos cambios, para leer los cambios completos consulte el siguiente enlace:",Dc="Haga clic para actualizar",Bc="Buscar actualizaciones",zc="Buscando actualizaciones...",Gc="Error de comprobación de actualización",Rc="La aplicación está actualizada",Nc="Último cambio:",Lc="El proceso de actualización ha fallado, por favor, inténtelo manualmente!",qc="El proceso de actualización no logra descargar el APK, por favor inténtelo manualmente!",Fc="Actualización de Apk disponible",Uc="Actualización Web disponible",Jc=", comprobar en el panel lateral",Hc="Última comprobación:",Qc="Opciones de actualización",Xc="Buscar actualizaciones en segundo plano",Yc="Mostrar el diálogo de actualizaciones cuando éstas están disponibles",Kc=["Si","Sólo un mensaje de brindis",ge="No"],Wc="El proceso de actualización ha comenzado, esto puede tardar unos segundos, por favor espere!",Zc="Si Play Store no muestra la actualización inténtalo de nuevo después de unos minutos!",$c="Necesitas la versión 3.0.303 o superior del APK para poder usar esto, por favor actualiza de la forma antigua",eu="Aplicación actualizada OK",Te="Cerrar",De="Minimizar",Be="Cancelar",Ne="Canales en directo",Le="Hosts",qe="Juegos en Directo",ze="Canales seguidos",Lo="Mi canal",Ge="Agregar usuario",Re="Remover usuario",Fe="El usuario no existe",Ue="hosteando",Je="ya está configurado",Qe="Cambiar a",Xe="El primer usuario puede seguir (al proporcionar una clave) y ver los canales en directo fuera de la pantalla del usuario",Ye="Añade un usuario de Twitch para mostrar el contenido de los canales seguidos aquí",Ke="24h",We="7d",Ze="30d",$e="todo",ea="Saltar",aa="a",ta="Salto cancelado",ia=", tiempo de salto mayor que la duración",oa="Seg",na="Min",sa="Ms",la="Hr",da="Fuente",ra="Cliente SmartTV para Twitch",ca="Presione Regresar o Enter para cerrar este.",ua="Presione regresar para cerrar esto.",fa="Presione volver para mostrar el cuadro de diálogo de actualización o enter para cerrar este.",pa="Relacionado al Reproductor:",ha="Relacionado al Chat:",Sn="Mostrar chat",_a="Versión actual instalada",ma="última versión disponible",ga="Reproduce un vídeo: Navega con el pad direccional (arriba/abajo/izquierda/derecha), pulsa enter o las teclas multimedia de reproducir/pausa o ver pista o 1 tecla",va="Actualizar el contenido de la pantalla:",ba="Salir de la aplicación: desde el panel lateral haga clic en salir",Di="Forzar el cierre de la aplicación: Mantenga la tecla de retorno hasta que se cierre automáticamente",ya="Cambiar de pantalla: tecla de retorno y luego D-Pad arriba/abajo o"+(xt="PG Arriba/Abajo")+Ws,wa="Inicie una búsqueda: desde el panel lateral haga clic en buscar, escribiendo la búsqueda pulse la tecla Enter en el teclado virtual y elija una opción de búsqueda",xa="Acerca de esta aplicación: en el panel lateral haga clic en Acerca de",Aa="Se trata de un cliente de Twitch para Android TV, liberado de forma gratuita para todo aquel que quiera utilizarlo",Ai="Esta versión de la aplicación es sólo de prueba en el navegador!",ka="Información de contacto:",ja="Esta es una aplicación de código abierto licenciada bajo la Licencia Pública General GNU v3.0, consúltela en GitHub",Ca="Esta aplicación utiliza las siguientes dependencias:",Ra="Chat y vídeo (lado a lado): tecla 2 o tecla multimedia avance rápido, también cambia entre los modos Picture in Picture y 50/50",Ci="Forzar deshabilitar el chat",Fa="Añadir una clave permite que la aplicación acceda al chat usando tu usuario para enviar mensajes y obtener tu lista de emote (te permite obtener sub dones para el chat), seguir/deshacer canales y acceder a algunos contenidos de los usuarios más rápidamente

Añadir una clave no es exigente y puede hacerse en cualquier momento posterior

En caso de duda lee este enlace:

%x

Para algunos dispositivos es necesario un ratón para completar la acción de autorización ya que puede ser necesario pulsar manualmente un botón para confirmar.

Añadir clave para",Ua="Añadir clave de autorización",Ha="Clave añadida OK",Ja="La prueba de la llave ha fallado, hay que añadir una nueva",Qa="Intenta añadir una clave para el usuario",Xa="pero esta clave es para el usuario",Ya="Siguiendo",Ka="Seguir",Wa="Y si no has añadido una clave de autorización, la aplicación no puede comprobar el estado de tu sub..",Za="Y no eres un sub de este canal",et="Fallo en la comprobación de la autorización con la clave del proveedor, por favor, compruebe y vuelva a intentarlo",oi="La clave añadida no pertenece al usuario",at="Ningún usuario",tt="Establecer un usuario y una clave de autorización para poder seguir o dejar de seguir",Li="Añade primero un usuario",ot="Reinicie el",nt="Clip",st="Contenido del canal",rt="Seguidores",ut=", No se puede seguir o dejar de seguir",ft="Contenido del juego",pt="Si",vt="Mantenga pulsado enter",bt=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dec"],yt=["Dom","Lun","Mar","Mie","Jue","Vie","Sab"],At="Vídeos",St="Repetición",kt="saliendo en",jt='pulse "Retorno" para salir',It="Creado",Cu='Mostrar Advertencia de "Streamer en directo"',Iu="Al ver un clip o un VOD, la aplicación puede comprobar si ese streamer está en directo, si esto está configurado como SÍ, se mostrará una advertencia, para abrir el directo sólo tienes que utilizar la opción de controles inferiores del reproductor",zr="Permanecer en el stream",Ur="Último resultado:",Dt="es ahora",Nt="Tamaño del buffer de inicio:",Lt="Cuánto se necesita para almacenar en el buffer antes de comenzar la reproducción, esto no está relacionado con el tamaño máximo que puede alcanzar el buffer (el tamaño máximo del buffer se basa en el tamaño de la RAM del dispositivo), un valor más bajo aquí hará que la reproducción comience antes y eso es siempre recomendable. Cambiar este valor a un valor más grande en la mayoría de los casos no causará ninguna mejora pero sí contratiempos",qt="Buffer inicial de Streams en directo",zt="Buffer inicial de Vídeos (Emisiones pasadas y destacados)",Gt="Buffer inicial de Clips",Rt="Idioma",ru="El mensaje se envía, pero el retraso del chat está activado, el mensaje se mostrará en el chat después",so="Chat: retraso",Ut=Sr+" VOD?",Kt="Añadir una clave de autorización de usuario para poder ver los vídeos seguidos",Wt="Cambiar: Más recientes o vistas",tu="Activar",Zt="Activado",$t="Desactivado",hi="La aplicación se cerró durante la reproducción, restaurando la reproducción",ei="Restaurar la reproducción",ai="La aplicación guarda lo que estaba reproduciendo en caso de que se cierre involuntariamente, al cambiar de aplicación el sistema puede quedarse sin memoria y cerrarla, en este caso la aplicación restaurará lo que estaba reproduciendo previamente en el siguiente inicio",ti="Tamaño de la fuente del chat",ni="Las miniaturas animadas del vídeo",ci="Paso de salto",lo="segundo",ui="segundos",fi="minuto",pi="minutos",_i="Desplazamiento del reloj",jc="Ajustar el reloj de la aplicación principal en relación con su elección",mi="Idioma del contenido",gi="El idioma del contenido en su pantalla, directo, vods, clips",vi="Idioma de la aplicación",bi="El idioma del texto de la aplicación",yi="Presione enter para acceder",wi="Todas",Ii="Brillo del fondo del chat",Vi="Reproducir Todo",Ti="Reproducción automática del siguiente clip",Bi="Volver al Menú principal",pn="Mantenga pulsado arriba",Pr="Diálogo de inicio de VOD",Mr='Elija el comportamiento por defecto, cuando reproduzca un VOD si la información está presente en el historial del usuario puede ser reproducido desde donde usted dejó de ver por última vez, si establece esto como "siempre desde el principio" este comportamiento también se aplicará a la vista previa del VOD',Vr="Siempre desde el principio",Or="Siempre desde la última parada",Tr="Pregunte siempre",$d="Opciones de diálogo en fin de reprodución",qi="Tiempo de diálogo en fin de reprodución",zi="Cuando un Directo/VOD/Clip termina se muestra un diálogo con la opción de qué hacer a continuación, establezca el tiempo (en segundos) que tardará la opción por defecto en actuar",Gi="Disable the timer",Ri="Tamaño del chat",Fi="Posición de chat",Xi="Modo de vídeo",Ui="Pantalla completa",Hi="Lado a lado, video y chat",To="50/50 y chats",Ji="Velocidad",Qi="Calidad",Yi="Normal",Ki="Auto",$i="Muy baja",eo="Baja",ao="Alta",to="Muy alta",io="Calidad de las miniaturas",oo="Resolución de las miniaturas por defecto para el directo, los vídeos y los juegos (no se puede aplicar a los clips) un valor más bajo ayudará a que la aplicación cargue más rápido pero la miniatura puede verse borrosa",ho='Esto se utilizará para evitar retrasos en los dispositivos de gama baja cuando se reproduzcan varios vídeos al mismo tiempo (la mayoría de los dispositivos se retrasarán saltándose fotogramas en esa situación, ya que sólo están hechos para reproducir un único vídeo), también ayuda a limitar el uso del ancho de banda de Internet en caso de que necesites limitarlo, también establece la "Calidad predeterminada del reproductor" en Auto, la resolución/velocidad de transmisión recomendada para todos los reproductores pequeños es 720p/3 Mbps e ilimitada para el reproductor principal o grande para la mayoría de los dispositivos de gama baja',go="Diferentes valores aquí para la resolución y la tasa de bits del reproductor principal y del pequeño, puede causar un corto buffering/carga cuando se cambia el reproductor principal en el modo Picture Picture (presionando hacia abajo se cambian los reproductores), para prevenir esto ponga ambos valores iguales a costa de un posible lag, el mejor indicativo de un bitrate demasiado alto es una constante acumulación de cuadros saltados o un constante buffering del stream.",_o="Tasa de bits - "+(_u="Reproductor principal, reproductor de Picture in Picture o el reproductor principal 50/50"),mo="Tasa de bits - "+(gu="Reproductores pequeños, reproductor pequeño del modo Picture in Picture y todos los reproductores Multistream"),mu="Resolución - "+_u,gu="Resolución - "+gu,cu="Resoluciones bloqueadas",uu="Cuando se utiliza la calidad automática es posible bloquear una o más resoluciones para que no se utilicen nunca, esto es utilizable para los dispositivos que se retrasan en la reproducción de una resolución en particular, ya que los clips no se pueden reproducir en modo automático esto también bloqueará la sección automática de esta resolución en un clip.",fu="El usuario puede sobrescribir la selección manualmente durante la reproducción

XX significa que todas las resoluciones que empiecen por ese valor antes de XX no podrán ser utilizadas, si la resolución está marcada como bloqueada",pu="Bloqueada",hu="No Bloqueada",Du="Audio -",Wi="Calidad del reproductor por defecto",Zi='Esta opción siempre será respetada cuando se reproduzca un solo video, en el modo de Imagen o Multistream la reproducción necesita usar la calidad Auto, para el por qué es eso, revisa la opción de ajustes "'+(po="Calidad automática máxima permitida Resolución/Tasa de bits")+'"',Kr=["Cuando la información del reproductor es visible","Siempre visible","Nunca visible"],Eo="Pulsar una sola tecla de retorno",No="Salir del reproductor, del modo picture in picture, 50/50 o Multistream con un solo clic de retorno de la tecla",Kl="Opciones de notificación",qo='Mostrar la notificación "Streamer está en directo" para los canales seguidos',Pc='Mostrar la notificación "Streamer cambio de título" para los canales seguidos',Mc='Mostrar la notificación "Streamer cambió de juego" para los canales seguidos',Ic='Mostrar la notificación "Juego en directo" para los juegos seguidos',cl="Notificación sobre otras aplicaciones, cuando la aplicación está en segundo plano",Nr="Si impides las notificaciones para esta aplicación en la configuración del sistema, esta característica no funcionará, si las notificaciones de la aplicación ya se están ejecutando y sales de la aplicación, la notificación se mostrará por encima de otras aplicaciones, incluso si está desactivada.",Qr="Cuántas veces hay que mostrar la notificación individual",Xr="El tiempo de espera de las notificaciones individuales es de unos 3 segundos, y no se puede cambiar porque este tiempo de espera está controlado por el sistema, pero se puede establecer el número de veces que se mostrará la misma notificación",oc='Evitar que se muestre la notificación "Streamer está en directo" para las transmisiones que están en directo hace más de',nc="Esto es útil para evitar que la aplicación muestre una larga lista de notificaciones cuando la aplicación no se utiliza durante algún tiempo, por ejemplo, cuando se apaga el dispositivo o la pantalla está apagada (la aplicación no mostrará notificaciones cuando el dispositivo está encendido pero la pantalla está apagada)",zo="Tamaño de la fuente en la aplicación",Go="Esto cambiará el tamaño de todo el texto y la mayoría de los iconos en la aplicación (menos el tamaño de la fuente del chat, porque tiene su propio control), un valor demasiado pequeño puede no ser visible un valor demasiado grande desbordará el soporte de la caja de texto, esa es la forma en que este valor está limitado, cambiar esto refrescará todas las pantallas",Ro="Menú principal",Fo="Menú de usuario",Jo="Imágenes de canales redondeadas",Qo="Como la mayoría de las imágenes de los canales son cuadradas, algunas imágenes pueden no verse bien",Ho="Ocultar Posición/Contador total",Vd="Hay un contador de posiciones que informa de la posición actual y del contenido total cargado en las pantallas que tienen contenido jugable, a medida que se desplaza se carga más contenido y el total se actualiza",Ko="Usuario principal",Zo="Haga clic en un usuario para ver las opciones",$o="Usuario: Cambiar, añadir, llave",en="Baja Latencia",an="Panel lateral o reproductor Clasificación previa",tn="Ordena el panel lateral en directo y la vista previa del reproductor, en la vista previa esto sólo se aplica al usuario en directo y destacado (todos los que no son historia son base de vistas, la historia es la última vista primero, y vod es la más reciente)",sn="Activar las animaciones de la aplicación",$l="Activa el panel lateral, el desplazamiento y las animaciones relacionadas",Zl="Personalización de la interfaz, estilo de color, animaciones y otros aspectos",xc="Personalización de contenidos, ordenación, actualización automática, tiempos de espera y otros",su="Pulse Enter para cambiar a -",un="(Pulsa enter para dejar de seguir)",fn="(Pulsa enter para seguir)",hn="Hoy",_n="Fotogramas omitidos:",mn="Tamaño buffer (Seg):",vn="Actividad de red (Mb):",gn="Velocidad de red (Mb):",bn="Latencia de transmisión (Seg):",du="Base en la "+(lu="Latencia de transmisión"),sl="Ping a Twitch (Ms):",Od="Advertencias",kn="Posición de la pantalla del D-pad",jn="Opacidad del D-pad",Wl="Opciones del D-pad",Cn="Codecs bloqueados",In="Lista de los códecs utilizados y permite bloquear el uso de un códec",Pn='Los códecs de software (OMX.google) suelen tener un peor rendimiento, pero en algún dispositivo pueden tener preferencia sobre los códecs de hardware, usando este se pueden bloquear y ver si el rendimiento de la reproducción mejora, por defecto el decodificador OMX.google está desactivado (si hay otro códec disponible) una acumulación constante de fotogramas omitidos es un indicativo de un problema de códec.
El contenido de la aplicación sólo utiliza decodificadores avc/h264 no hay otro en la lista.',Mn="Códecs soportados:",Vn="Resolución máxima:",On="Tasa de bits máxima:",Tn="Nivel máximo:",Dn="Max fps per resolution:",_s="Instancias máximas:",ms="Desconocido",qn="Historial",ns="Habilitar el historial en directo",ds="Abrir el juego",rs="Abrir el canal",cs="Pulse enter encima de una acción (para abrirla o aplicarla), volver para salir sin aplicarla",hs="Mantenga pulsado izquierda para ver las opciones de las miniaturas",Ss="4 directos simultaneos",bo="Picture in Picture: Mantén pulsado Enter y utiliza el D-Pad para mover o cambiar los vídeos",ur="Mostrar la vista previa en las pantallas de emisión en directo",pr="Iniciar la reproducción desde donde se detuvo por última vez:",fr="Mostrar la vista previa en las pantallas de VOD",_r="Mostrar la vista previa en las pantallas de CLIP",wr="Cuando la vista previa de un clip termina, el siguiente clip disponible cambia automáticamente",ir="Mostrar la vista previa en el panel lateral",Ns="Mostrar la vista previa en las miniaturas del reproductor",Cd="Si no quieres o tu dispositivo se retrasa cuando hay más de un reproductor activo, ponlo en NO",Ls="Desactivar la vista previa cuando se activa el multistream",Id="Por razones de rendimiento, algunos dispositivos pueden tener un retraso con múltiples reproductores, si tu está bien para el multistream pero cuando el reproductor de vista previa y el multistream están activos el dispositivo se retrasa establece esto en NO",mr="La vista previa no se carga:",gr="inalcanzable",hr="La vista previa del vídeo ha terminado",vr="El reproductor no puede reproducir debido a un problema de conexión a la red",br="El reproductor no puede reproducir debido a un error del reproductor",sr="Tamaño de la vista previa del reproductor",lr="Establecer el tamaño de la vista previa del reproductor de las miniaturas de la vista previa",dr=["Pequeño","Mediano","Grande","Extra grande"],Br="Tamaño de la vista previa de las pantallas",Er="Establecer el tamaño de la vista previa",Dr=["Tamaño de la miniatura","Más grande"],qs="Retraso de la vista previa",zs="Establezca el tiempo de retraso que la vista previa tardará en comenzar a cargar después de seleccionar una miniatura, esto ayuda con los dispositivos lentos que se retrasan al desplazarse",rr="Volumen de la vista previa",cr="Permitir establecer lo que será el volumen de vista previa de la alimentación",or="Volumen de los principales reproductores",nr="El volumen del reproductor principal (Todos los reproductores picture in picture, reproductores multistream) puede ser más bajo cuando se muestra el reproductor de vista previa",Yl="Vista previa de la configuración de los reproductores de miniaturas",Gs="Inicie siempre la aplicación en la pantalla del usuario",td="Esto evitará que funcione la reproducción de Restaurar, pero permite elegir el usuario al inicio de la aplicación",Rs="última actualización:",Us='Mostrar "un servicio de accesibilidad se está ejecutando"',ad="Si el dispositivo tiene un servicio de accesibilidad activado la aplicación mostrará una advertencia, es un problema conocido de android que el servicio de accesibilidad puede retrasar algunos dispositivos y causar congelaciones o retrasos en esta aplicación.",Hs="Servicio(s) de accesibilidad detectado(s)",Xs="Tiempo de refresco automático",id="Cuando esta opción está activada, la aplicación refrescará automáticamente una pantalla o una pantalla de vista previa de miniaturas, el refresco se produce sólo cuando la pantalla está seleccionada, si quieres un refresco en segundo plano activa la opción de abajo",ac="Actualización automática en segundo plano",tc='Cuando "Actualización automática en segundo plano" está configurado y está activado, el refresco automático ocurrirá en segundo plano (pero con la aplicación visible, android no permite que se ejecute sin restricciones en segundo plano para evitar el retraso de otra aplicación) cuando la pantalla no es visible o cuando vuelves a una pantalla que el refresco no se ejecutó antes, ten en cuenta que debido a que la aplicación tiene demasiadas pantallas cuando esta opción está activada el refresco automático puede causar retraso aleatorio en algunos dispositivos de gama baja.',$r="Cambiar automáticamente la calidad del reproductor de Fuente a Auto cuando el reproductor se retrasa",ec="Cuando esta opción está activada y no se utiliza la calidad automática, si el reproductor se retrasa cambiará a la calidad automática y advertirá de ello, un retraso en el reproductor es, por ejemplo, cuando el reproductor es incapaz de jugar durante más de 15 segundos (el algoritmo es más complejo que el tiempo, por supuesto), después de este cambio, el reproductor volverá automáticamente a la fuente cuando se inicie un nuevo flujo de vod.",pl="Escribir para chatear",Mu="Ajustes adicionales del chat",_l="Chat ROOMSTATE:",ml="Sin restricciones",od="Opciones",vl="Borrar todo",Ml='El chat está en modo "Solo seguidores", y usted no es un seguidor de',Vl="y sólo estáis siguiendo para",Ol="Modo Twitch solo Emote",Tl="Elija el chat al que desea escribir o pulse Retorno para cerrarlo",Rl="Añadir una clave de autorización de usuario para poder registrar y escribir en el chat",Jl="El chat no está listo para ser enviado. Inténtelo de nuevo en uno o dos segundos.",gl="Opciones del chat",vd="Resaltar los mensajes de recompensa (sólo el mensaje de fondo púrpura)",nd="Resaltar los mensajes de @streamer (fondo rojo oscuro, la @ es azul)",sd="Resalte sus mensajes de @nombredeusuario (fondo verde oscuro, la @ es azul)",ld="Resalte sus mensajes enviados (fondo verde oscuro)",dd="Mostrar mensajes sub en el chat (fondo naranja oscuro)",rd="Mostrar mensaje de bits (fondo amarillo oscuro)",cd="Mostrar mensajes de Acciones (normalmente son de Bots de flujo)",ud='Estos mensajes suelen ser iguales a los mensajes Sub, pero enviados a través de un bot de flujo, por lo que si usted tiene "Mostrar sub..." activar esto es redundante',fd="Diferencia de color de fondo de los mensajes individuales",pd="Los modos son deshabilitar, habilitar (modo automático), brillante o más oscuro, En el modo automático si el chat está por encima de la corriente que el mensaje impar tendrá un color de acento de fondo más oscuro de la par, si el chat no está por encima (lado a lado, por ejemplo) el color será claro",bd="Insertar una línea para separar los mensajes de chat individuales",hd="Iniciar sesión en el chat con el usuario actual",_d="La aplicación siempre iniciará sesión en el chat con el usuario actual cuando se proporcione una clave de autorización, a menos que el chat esté desactivado en los controles inferiores del reproductor, pero si esta opción está configurada en NO, evitará el inicio de sesión con el nombre de usuario actual y en su lugar, iniciará sesión como anónimo, incluso proporcionando una clave de autorización. Esto no evita que se envíe un mensaje de chat para este usuario si se agrega una clave, pero evita que se sepa si está prohibido en el chat y evita que se conozca el estado del chat ROOMSTATE",Yr="Mostrar la marca de tiempo del mensaje",xd="Colores de nick legibles",Ad="En lugar de usar el color de nick predeterminado que algunas veces no se puede leer sobre un fondo oscuro, use un color personalizado fácil de ver",ar="Limpiar el chat, eliminar los mensajes del usuario",hc="Se solicitó la eliminación de este mensaje de usuario único",_c="Se solicitó la eliminación de todos los mensajes de este usuario",tr="Borrar los mensajes de chat de un usuario específico (típicamente después de haber recibido un tiempo de espera o un baneo), los mensajes borrados siempre tendrán un fondo azul, el mensaje será borrado si esto se establece en sí, si no sólo el color de fondo cambiará",Sd="Siempre abra el host en un extremo de la transmisión si está disponible",Jr="Permanecer siempre con el reproductor abierto después de un final en directo",kd='Mostrar "Aviso de fallo de ping a Twitch""',jd="La aplicación está constantemente comprobando la conexión con Twitch a través de un ping, si eso falla demasiado se mostrará una advertencia, si esa advertencia se muestra involuntariamente establece esto en NO",Td="Tiempo de espera de la tecla (en milisegundos)",Dd="Cuánto tiempo hay que mantener una tecla para que ocurra una acción de retención, las acciones son refrescar una pantalla, mostrar opciones de miniaturas, etc.",Zd="Estilo de miniatura seleccionado",er="Abrir en un reproductor externo",Cr=["Abajo a la derecha","Centro a la derecha","Arriba a la derecha","Centro arriba","Arriba a la izquierda","Centro a la izquierda","Abajo a la izquierda","Centro abajo"],Ir=['Derecha", "Centro", "Izquierda'],qr="Posición de la notificación en la pantalla",Lr=['Arriba a la derecha", "Arriba al centro", "Arriba a la izquierda", "Abajo a la izquierda", "Abajo al centro", "Abajo a la derecha'],ic=[au="Desactivar","Modo normal, puede provocar re-buffers","El modo más bajo, puede causar aún más re-buffers"],lc="Controles de avance/retroceso rápido de VOD",dc="Controla la velocidad de los pasos hacia atrás/adelante, al pulsar y mantener pulsada la tecla izquierda/derecha el tiempo de paso aumentará después de que el tiempo de aumento haya pasado, aumentará hasta el tiempo de paso máximo, después de soltar la tecla y no hacer clic durante un segundo el tiempo de paso se restablecerá al tiempo de paso mínimo.

Pulsando arriba se sobreescribirá el valor mim/máximo permitiéndole pasar por todos los pasos posibles y bloqueará el valor hasta que la barra de progreso sea descartada

Haciendo clics simples sin mantener la tecla no se incrementará el tiempo

Estas opciones sólo funcionan en VODs para Clip el paso es siempre de 1 segundo",rc="Tiempo de paso mínimo (inicial)",cc="Tiempo máximo de paso",uc="Aumentar el tiempo de espera después de mantener",fc="pulse arriba para bloquear el valor del paso",pc="bloqueado pulse arriba para cambiar",gc="En el chat",vc="Mostrar el total de usuarios conectados en la parte superior del chat o de los espectadores",Cc="Esto es muy útil para saber, por ejemplo, si el chat fuera de línea tiene algún usuario con el que hablar, también permite al usuario saber la diferencia de espectador total VS usuario total del chat",Fu="Mostrar a los espectadores",Uu="Mostrar los chats",bu="Ocultar el reloj de la pantalla principal",vu="Ocultar el reloj en el reproductor",yu="Ocultar el título de la pantalla principal",xu="El título del centro, Directo, Clip, Ajustes, etc...",wu="Ocultar los consejos de navegación en pantalla",Au="Consejos de navegación como, mantener una tecla para una acción y relacionada",Su="Minimizar automáticamente la aplicación cuando está inactiva",ku="Evita que la aplicación se ejecute cuando no se está utilizando, se mostrará una advertencia dando al usuario 15 segundos para presionar cualquier tecla para evitar la minimización",Ru="Visibilidad del estado del reproductor",zu="Ajustes de la vista previa",qu="Mostrar vista previa",Gu="Tamaño de la vista previa",Hu="Protección contra quemaduras de OLED",Ju="Cuando esta opción está activada, la pantalla se volverá completamente negra durante 50 a 20 minutos, sólo es necesario para los dispositivos con pantallas OLED que tienen problemas de quemaduras",$u="milisegundos",ef="hora",af="horas",tf="Derecha",of="Izquierda",sf="Arriba",lf="Avg"}function dh(){yx=!0,LQ=17,ro="ou pressione a tecla 2",Ks="ou tecla de mídia próxima faixa",L="Atualizar",q="Pesquisar",z="Configurações",G="Controles",R="Sobre",F="Ocultar",U="O texto que você digitou está vazio.",H="O resultado da pesquisa está vazio.",J="Alterar de tela",Q="Trocar tela de usuário",X="Trocar: Vídeos ou Destaques",Y="Trocar: Período (24h, 7d, 30d, todos)",K="Vá para a tela",W="Usuário",Z="Ao vivo",$="Jogos",ee="Jogando",te="Assistindo por ",Zr="Tempo de espera",ie="Desde",oe="Um Jogo",ne="Digite sua pesquisa ...",se="Digite sua chave de autorização ...",le="Digite seu nome de usuário ...",de="Pressione Enter ou de seleção para,",re="Canais",ce="Canal",Pi="Voltar para a tela anterior: tecla de retorno",fe="terminou",Pd=", verificando host",pe="Este vídeo é disponível apenas para subs.",sc="é conteúdo apenas para sub.",he="A conexão falhou ou não há conteúdo para esse. Atualize para tentar novamente",_e="A conexão falhou ou não há conteúdo para esse. Pressione Enter para Atualizar",Ip="A conexão falhou ou não há conteúdo para este idioma. Altere o idioma do conteúdo (mantenha pressionado à tecla para esquerda) ou pressione Enter para atualizar",ve="para este",be="Falha na conexão, não foi possível carregar o conteúdo do vídeo saindo de ...",we="Destaques",xe="Clipes",Ae="Conteúdo",Se="Em",ke="Duração",je="Visualização",Ce="Visualizações",Ie="Pessoa",Pe="Pessoas",Me="Clique novamente para sair!",uo="Clique novamente para sair do Picture in Picture!",xs="Clique novamente para sair do MultiStream!",Ve="Deseja sair do Cliente SmartTV para Twitch?",Oe="Sair",Vc="Changelog",Oc="Todas Alterações",Tc="Estas são apenas as alterações mais recentes, para ver todas use o link abaixo:",Dc="Clique para atualizar",Bc="Verificar se há atualizações",zc="Verificando atualizações ...",Gc="Falha na verificação da atualização",Rc="O aplicativo está atualizado",Nc="Última alteração:",Lc="Falha no processo de atualização, tente manualmente!",qc="O processo de atualização falhou ao baixar o APK, tente manualmente!",Fc="Atualização Apk disponível",Uc="Atualização Web disponível",Jc=", verifique no painel lateral",Hc="Última verificação:",Qc="Opções de atualizações",Xc="Verificar atualizações em segundo plano",Yc="Mostrar diálogo de atualizações quando houver atualizações disponíveis",Kc=["Sim","Apenas uma mensagem brinde",ge="Não"],Wc="Processo de atualização iniciado, pode demorar alguns segundos, aguarde!",Zc="Se a Play Store não mostrar a atualização, tente novamente após alguns minutos!",$c="Você precisa do APK versão 3.0.303 ou UP para poder usá-lo, atualize do jeito antigo",eu="Aplicativo atualizado OK",Te="Fechar",De="Minimizar",Be="Cancelar",Ne="Canais ao vivo",Le="Hosts",qe="Jogos ao Vivo",ze="Canais seguidos",Lo="Meu canal",Ge="Adicionar usuário",Re="Remover usuário",Fe="Usuário não existe",Ue="host",He="host por",Je="já definido",Qe="Mudar para",Xe="O primeiro usuário pode seguir (ao fornecer uma chave) e ver o feed dos canais ao vivo fora da tela do usuário",Ye="Adicionar um usuário Twitch para exibir os seus Canais Seguidos aqui",Ke="24h",We="7d",Ze="30d",$e="todos",ea="Salto",aa=ae="para",ta="Salto cancelado",ia=", tempo de salto maior que duração",oa="Sec",na="Min",sa="Ms",la="Hr",da="Original",ra="Cliente SmartTV para Twitch",ca="Pressione Retornar ou Enter para fechar isto.",ua="Pressione Retornar para fechar isso.",fa="Pressione Retornar para mostrar a caixa de diálogo de atualização ou Enter para fechá-la.",pa="Relacionado ao player:",ha="Relacionado ao chat:",Sn="Mostrar chat",_a="Versão atual instalada",ma="última versão disponível",ga="Reproduzir um vídeo: Navegue usando o teclado direcional (para cima/para baixo/esquerda/direita), pressione enter ou reproduzir/pausar ou visualizar as teclas de mídia da trilha ou tecla 1",va="Atualizar o conteúdo da tela:",ba="Saia do aplicativo: no painel lateral, clique em sair",Di="Forçar o fechamento do aplicativo: Segure a tecla Enter até forçar o fechamento automático",ya="Alternar tela: tecla de retorno e depois D-Pad para cima/para baixo ou"+(xt="PG para cima/para baixo")+(Ws="ou tecla de retrocesso de mídia ou de avanço rápido"),wa="Iniciar uma pesquisa: no painel lateral clique em pesquisa, escrevendo a pesquisa pressione a tecla Enter no teclado virtual e escolha uma opção de pesquisa",xa="Sobre este aplicativo: no painel lateral, clique em",Aa="Este é um cliente Twitch para Android TV, lançado gratuitamente para quem quiser usá-lo.",Sa="Este aplicativo não tem afiliação com o Twitch, é um aplicativo feito por um usuário, mas só é possível porque o Twitch fornece todas as API que permite que o aplicativo mostre o conteúdo do Twitch.",Ai="Esta versão do aplicativo é para teste apenas no navegador!",ka="Informações de contato:",ja="Este é um aplicativo de código aberto licenciado sob a GNU General Public License v3.0, verifique no GitHub",Ca="Este aplicativo usa as seguintes dependências:",Ia="Suporte para telefones e tablets:",Pa="Sim, é possível usar este aplicativo em telefones e tablets, mas este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outros dispositivos é limitado e por isso não é liberado na play store, use o link abaixo para fazer o download APK mais recente e instale manualmente em um telefone ou tablets",Ma="Mostrar painel de informações: Pressione a tecla Enter ou D-pad se o chat e o feed do canais ao vivo não estiverem sendo exibidos",Va="Fechar o vídeo: pressione a tecla de retorno duas vezes ou a tecla de mídia Parar",Oa="Reproduzir/pausar um vídeo: abra o painel de informações e clique no símbolo de pausa",Ta="Mostrar preview: D-pad para cima",Da="Alterar a qualidade do vídeo: use os controles de qualidade da parte inferior do player",Ba="Forçar a atualização de um vídeo (caso ele congele): Altere a qualidade do vídeo para a mesma",Ea="Mostrar ou ocultar o Chat: D-pad para baixo ou tecla número 3"+(Zp="ou nos controles da parte inferior do player"),Na="Alterar posição de chat: D-pad para a esquerda, PG para cima ou retroceder (apenas VOD e clipes)"+Zp,La="Alterar tamanho do chat: D-pad para a direita ou PG para baixo"+Zp,qa="Alterar brilho de fundo do chat: alterar os controles da parte inferior do player",za="Forçar atualização do chat nas transmissões ao vivo (caso ele congele ou não carregue): use os controles da parte inferior do player para desativar o chat (clique duas vezes)",Ga='Iniciar uma pesquisa: abra o painel de informações, navegue usando o teclado direcional (esquerda/direita) para " Pesquisar "e pressione Enter',dn="Todas as teclas de mídia são suportadas (reproduzir, pausar, parar, próxima faixa, avanço rápido, etc ...) algumas são usadas como atalhos para mudanças de modo de áudio e vídeo",Ra="chat e vídeo (lado a lado): tecla 2 ou tecla de mídia avanço rápido, também alterna entre Picture in Picture e modo 50/50",Ci="Chat desabilitado forçado",Fa="Adicionar uma chave permite que o aplicativo acesse o chat usando seu usuário para enviar mensagens e obter sua lista de emoticons (permite que você receba sub de presente pelo chat), seguir/parar de seguir canais e acessar algum conteúdo do usuário mais rápido

Adicionar uma chave não é obrigatorio e pode ser feito a qualquer momento mais tarde

Em caso de dúvida, leia este link:

%x

Para alguns dispositivos é necessário um mouse para concluir a ação de autorização, pois pode ser necessário clicar manualmente em um botão para confirmar.

adicionar chave para",Ua="Adicionar chave de autorização",Ha="Chave adicionada OK",Ja="Teste de chave falhou, uma nova precisa ser adicionado",Qa="Você tentou adicionar uma chave para o usuário",Xa="mas esta chave é para o usuário",Ya="Seguindo",Ka="Não Seguindo",Wa="E você não adicionou uma chave de autorização, o aplicativo não pode verificar o seu status de seguidor.",Za="E você não é um sub deste canal",$a="Você é um sub deste canal, mas alguns problemas de radônio impediram a reprodução deste canal.",et="Falha na verificação de autorização com a chave do provedor, verifique e tente novamente",oi="A chave adicionada não pertence a este usuário",at="Nenhum usuário",tt="Definir usuário e uma chave de autorização para poder seguir/deixar de seguir",it="Aplicativos de terceiros não podem mais seguir ou parar de seguir canais (o botão pode apenas mostrar se é seguidor)",Li="Adicionar um usuário primeiro",ot="Reinicie o",nt="Clipe",st="Conteúdo do canal",lt="A rede está desconectada, o aplicativo não funciona sem INTERNET",dt="Conexão de rede restabelecida",rt="Seguidores",ct="Seguidor",ut=", Não é possível seguir ou deixar de seguir",ft="Conteúdo do jogo",pt="Sim",ht="Tem certeza que deseja remover o usuário",_t="Pressione até",mt="Jogos Seguidos Ao Vivo",gt="Mudar entre",vt="Segure enter",bt=["jan","fev","mar","abr","maio","jun","jul","ago","set","out","nov","dez"],yt=["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],wt="Iniciou",At=ye="Vídeos",St="Repetir",kt="saindo em",jt='pressione "Retornar" para sair',It="Criado",Pt="Abra o Vídeo",Mt="Abra o último Vídeo",Wu="Agora Ao vivo",Cu='Mostrar aviso "Streamer Agora ao vivo"',Iu="Ao assistir a um clipe ou VOD o aplicativo pode verificar quando o streamer está ao vivo, se estiver definido como SIM, um aviso aparecerá, para abrir ao vivo basta usar a opção de controles inferiores do player",Wr="Clique para abrir o chat e/ou aguarde para voltar ao vivo",zr="Permanecer na Live",Gr="Fique ligado e verifique novamente para ver se volta ao vivo",Rr="Verificando se está ao vivo em:",Fr="Verificando se está ao vivo ...",Ur="Último resultado:",Hr="O stream estava offline",Vt="Sem Vídeos",Ot="Não há Vídeo para este clipe",Tt="E por causa disso nenhum chat",Dt="Esta agora",Bt="Abra o Hosting",Et="player relacionado",Nt="Buffer inicial:",Lt="Quanto é necessário armazenar em buffer antes de iniciar a reprodução, isso não está relacionado ao tamanho máximo que o buffer pode atingir (o tamanho máximo do buffer é baseado no tamanho da Memória do dispositivo), um valor menor aqui fará com que a reprodução comece mais rapido e isso é sempre recomendado. Alterar este valor para um valor maior na maioria dos casos não causará nenhuma melhora, mas sim retrocessos",zt="Buffer inicial de Vídeos (Vídeo e destaque)",Gt="Buffer inicial de Clipes",Rt="Idioma",Ft="Chat: Conectando à",el="Tempo limite de conexão, falha ao registrar ...",al="Chat: Conectado",ru="Mensagem enviada, mas o atraso de chat habilitado, a mensagem será exibida no chat após",so="Chat: atraso",Ut=(Sr="Reproduzir desde o início ou de onde parou de assistir")+"VOD?",Ar=Sr+"AO VIVO?",Jt=(Ht="De:"+u)+"Iniciar",Qt="chat: O chat terminou!",Xt=", Mais recente",Yt=", Mais visualizações",Kt="Adicionar uma chave de autorização para poder ver os vídeos de seguidos",Wt="Trocar: Recente ou visualização",tu="Ativar",Zt="Ativado",wd="Modo escuro",yd="Modo claro",hi="O aplicativo foi fechado durante uma reprodução, restaurando a reprodução",ei="Restaurar reprodução",ai="O aplicativo salva o que estava reproduzindo no caso de fechamento acidentalmente, alterando os aplicativos por exemplo, o sistema pode ficar sem memória e forçar o fechamento, nesses casos o aplicativo irá restaurar o que estava reproduzindo na próxima inicialização",ti="Tamanho da fonte do chat",ni="Miniaturas animadas de vídeos",ed="Quando um Vídeo ou destaque é selecionado a miniatura é animada se estiver disponível para aquele vídeo (nem todos os vídeos têm animação)",si="Painel lateral: D-pad para a esquerda ou tecla de retorno",li="Tamanho",di="Brilho",ri="Conteúdo proibido, restrito à sua região ou a aplicativos oficiais do Twitch",ci="Etapa de salto",lo="segundo",ui="segundos",fi="minuto",pi="minutos",_i="Clock offset",jc="Ajuste o relógio do aplicativo em relação à sua escolha",vi="Idioma do aplicativo",bi="A linguagem dos textos do aplicativo",mi="Idioma do conteúdo",gi="O idioma do conteúdo das telas, ao vivo, Vídeos, clipes",yi="Pressione Enter para abrir",wi="Todas",xi="Não é possivel obter o jogo deste",xr="vazio",Si="Não é possível saltar durante o buffer",ki="chat foi desabilitado à força, habilite-o nos controles da parte inferior do player chat desabilitado forçado",ji="Este clipe/vídeo falhou ao carregar. Não é possível reproduzir",Ii="Brilho de fundo do chat",Mi="Iniciar o proximo",Oi="Iniciar o proximo em",Vi="Reproduzir tudo",Ti="Reproduzir automaticamente o próximo clipe",Bi="Voltar ao menu principal",Ei="Pressione para cima",pn="Segure pra cima",Ni="Live Feed",Pr="Diálogo inicial de Vídeos",Mr='Escolha o comportamento padrão, ao reproduzir um Vídeo se a sua informação estiver presente no histórico do usuário, ele pode ser reproduzido de onde você parou de assistir pela última vez, se definido como "sempre desde o início" este comportamento também será aplicado a Pré-Visualização de VOD',Vr="Sempre desde o início",Or="Sempre desde onde parou",Tr="Sempre perguntar",$d="Opções diálogo de fim de reprodução",qi="Tempo limite da do diálogo de fim de reprodução",zi="Quando um Live/Vídeo/Clipe termina uma caixa de diálogo mostra opçôes do que fazer a seguir, defina o tempo (em segundos) que levará para a opção padrão agir",Gi="Desativar o cronômetro",Ri="Tamanho do chat",Fi="Posição de chat",Xi="Modo de vídeo",Ui="Tela inteira",Do="Tela grande e pequena",Hi="Lado a lado, vídeo e chat",To="50/50 e chats",Ji="Velocidade",Qi="Qualidade",Yi="Normal",Ki="Auto",$i="Muito baixa",eo="Baixa",ao="Alta",to="Muito alta",io="Qualidade das miniaturas",oo="Resolução padrão de miniaturas para vídeos, ao vivo e jogos (não pode ser aplicado para clipes) um valor menor ajudará o aplicativo a carregar mais rápido, mas a miniatura pode parecer desfocada",no="Doações Paypal use o link abaixo:",Es="Doações de Bitcoin use o endereço de carteira ou leia o qrcode:",co="A conexão falhou, não foi possível carregar as informações do Vídeo",fo="Reiniciar player",Lu=["Pequeno","Grande",gs="Tudo"],ou=[gs,"Superior esquerdo","Superior direito","Inferior esquerdo","Inferior direito"],nu=[gs,"Superior","Inferior esquerdo","Inferior centro","Inferior direito"],vo="Ilimitado",ho='Isso será usado para evitar lags em dispositivos lentos ao reproduzir vários vídeos ao mesmo tempo (a maioria dos dispositivos vai pular frames nessa situação, pois eles são feitos para reproduzir apenas um único vídeo), também ajuda a limitar o uso de banda da Internet, no caso de ser necessario limitar uso de banda habilite "Qualidade do player padrão" para Auto, a resolução/taxa de bits recomendada para todos os players pequenos é 720p/3 Mbps e ilimitada para o player principal ou grande para a maioria dos dispositivos de baixo custo.',go="Valores diferentes aqui para a resolução do player principal e pequeno e/ou taxa de bits, pode causar um curto buffering/carregamento ao mudar entre o player principal no modo Picture Picture (pressionando para baixo irá alterar os players), para evitar que isto defina ambos os valores mesmo ao custo de um possível atraso, o melhor indicativo de uma taxa de bits muito alta é um acúmulo constante de quadros ignorados ou um buffer constante do fluxo.",_o="Taxa de bits -"+(_u="player principal, para o player grande em Picture in picture ou o player de cima 50/50"),mo="Taxa de bits -"+(gu="players pequeno, para o player pequeno do modo Picture in Picture e todos os players Multistream"),mu="Resolução -"+_u,gu="Resolução -"+gu,cu="Resoluções bloqueadas",uu="Ao usar a qualidade automática é possível bloquear uma ou mais resoluções de serem usadas, isso é útil para dispositivos que atrasam a reprodução de uma resolução particular, como os clipes não podem ser reproduzidos no modo automático, isso também bloqueará a seção automática de esta resolução em um clipe.",fu="O usuário pode sobrescrever a seleção manualmente durante a reprodução

XX significa que todas as resoluções que começam com aquele valor antes de XX serão impedidas de serem usadas, se a resolução for marcada como bloqueada",pu="Bloqueado",hu="Não bloqueado",yo="Fonte de áudio",Bu="Controles de áudio e volume",Vu="Áudio habilitar todos",Nu="Todas as fontes de áudio habilitadas",Ou="Volume total até 100%",Eu="Todo o volume do player ajustado para 100%",Tu="Volume -",Du="Áudio -",Wi="Qualidade padrão do player",Zi='Esta opção será sempre honrada ao reproduzir um único vídeo, no modo Picture in Picture ou Multistream a reprodução precisa usar a qualidade Auto, pelo motivo é que, marque a opção de configurações "'+(po="Resolução/taxa de bits máxima de qualidade automática permitida")+'"',wo="Imagem sobre imagem, 50/50 ou Multistream (apenas para transmissões ao vivo):",xo="Habilitar modo Picture in Picture: Reproduzindo um vídeo, pressione para cima para mostrar o feed de preview, escolha um fluxo e segure a tecla Enter ou pressione a tecla 1 para iniciar",Ao="Alterar um conteúdo de vídeo: a partir da preview do player, se estiver no modo multiplayer, clique sempre uma vez, Se em PP ou 50/50 um único clique atualizar o vídeo grande ou superior, segure a tecla Enter ou pressione a tecla 1 para atualizar o vídeo pequeno ou inferior",ko="Alterar conteúdo entre vídeos (somente imagem sobre imagem): D-pad grande torna-se pequeno e vice-versa",jo="Alterar a posição do vídeo pequeno (somente Picture in picture): D-pad para a esquerda",Co="Alterar tamanho pequeno do vídeo (somente Picture in picture): D-pad à direita",Io="Alterar fonte de áudio: Use os controles inferiores do reprodutor Fonte de áudio, se em 50/50 ou multistream use a tecla esquerda/direita se em PP use as teclas de mídia da faixa seguinte/anterior",So="Mudar a fonte de áudio para todos os vídeos: Mantenha a tecla para baixp pressionada.",Po="Reiniciar player: use os controles inferiores do player Reiniciar player, isso só irá reiniciar todos os players, útil para sincronizar player e chat, isso não irá sincronizar o conteúdo de um player com outro",Mo="Sincronizar players manualmente: É uma solução alternativa usar o controle inferior do reprodutor Velocidade para desacelerar o fluxo que está na frente ou vice-versa só funciona no modo PP",Vo='Qualidade de vídeo Imagem sobre Imagem: Verifique nas configurações do aplicativo "'+po+'"',Oo="Fechar vídeo pequeno ou inferior (somente Picture in picture): a tecla voltar duas vezes para sair do modo PP ou 50/50",Bo="Habilitar modo 50/50 (dois stream dois chats): Se Picture in Picture habilitar, pressione a tecla 2 ou a tecla de mídia para avançar ou use os controles inferiores 'Modo de Vídeo' ou se já estiver no modo 'lado a lado', mantenha a tecla enter pressionada sobre do feed de preview",Ys="Ativar Multistream: use os controles da parte inferior do player ou a tecla de retrocesso de mídia",Kr=["Quando as informações do player estão visíveis","Sempre visível","Nunca visível"],Eo="Pressione a tecla de retorno único",No="Saia do player, Picture in Picture, modo 50/50 ou Multistream com um único clique de retorno da tecla",Kl="Opções de notificação",qo='Mostrar notificação "Streamer está ao vivo" para canais seguidos',Pc='Mostrar notificação de "Título alterado do Streamer" para canais seguidos',Mc='Mostrar notificação de "Streamer mudou jogo" para canais seguidos',Ic='Mostrar notificação de "Jogo ao vivo" para jogos seguidos',cl="Notificação sobre outros aplicativos, quando o aplicativo está em segundo plano",Nr="Se você impedir a notificação para este aplicativo nas configurações do sistema, este recurso não funcionará, se as notificações do aplicativo já estiverem em execução e você sair do aplicativo, a notificação será exibida sobre outros aplicativos, mesmo se estiver desativado",Qr="Quantas vezes para mostrar notificação individual",Xr="O tempo limite de notificação individual é de cerca de 3 segundos, e não pode ser alterado porque esse tempo limite é controlado pelo sistema, mas você pode definir o número de vezes que a mesma notificação será exibida",oc='Impedir a exibição da notificação "Streamer está ativo " para streams que estão ativos há mais de tempo',nc="Isso é útil para evitar que o aplicativo mostre uma longa lista de notificações quando o aplicativo não for usado por algum tempo, por exemplo, quando você desliga o dispositivo ou a tela está desligada (o aplicativo não mostrará notificação quando o dispositivo estiver ligado mas a tela está desligada)",zo="Deslocamento global do tamanho da fonte do aplicativo",Go="Isso mudará o tamanho de todo o texto e da maioria dos ícones no aplicativo (menos o tamanho da fonte do chat, porque tem seu próprio controle), um valor muito pequeno pode não ser visível um valor muito grande irá estourar o suporte da caixa de texto, ou seja forma este valor é limitado, altere isso irá atualizar todas as telas",Ro="Menu Principal",Fo="Menu do usuário",Uo="Está offline",Jo="Imagens dos canais arredondadas",Qo="Como a maioria das imagens de canais são quadrados, algumas imagens podem não parecer OK quando redondas",Ho="Ocultar posição/contador total",Vd="Existe um contador de posição que informa a posição atual e o conteúdo total carregado nas telas que possuem conteúdo reproduzível, conforme você carrega mais conteúdo o total será atualizado",Xo="Trocar: Deslocar posição inicial",Yo="Em vez de começar no primeiro vídeo possível, comece uma posição inferior na lista, evita ter que descer e descer para encontrar um vídeo mais antigo",Wo="Escolha uma opção para o usuário",Ko="Usuário principal",Zo="Clique em um usuário para ver as opções",$o="Usuário: Mudar, adicionar, chave",ln="Se começar a obter problemas de buffers, desative"+(en="Latência Baixa")+"
Use"+(qt="Buffer inicial de streams ao vivo")+"igual ou menor que 1 para que tenha efeito",kc="Classificação da prévia dos jogos",an="Ordenar o painel lateral ou preview do player",tn="Ordena o painel lateral e o preview do player, este se aplica apenas ao usuário ao vivo e em destaque (todos os históricos são ordenados por ultimo visto e os Vídeos é o mais recente)",on="Alfabético A - Z",nn="Alfabético Z - A",sn="Ativar animações do aplicativos",$l="Habilita animações no painel lateral e de rolagem",Zl="Personalização da interface, estilo de cor, animações e afins",xc="Personalização de conteúdo, classificação, atualização automática, tempos limite e relacionados",me="Esconder o painel lateral após 5 segundos sem usá-lo",rn="Aplicativo em execução por:",cn="Não foi possível obter o link do vídeo",su="Pressione enter para mudar para -",un="(Pressione enter para deixar de seguir)",fn="(Pressione enter para seguir)",hn="Hoje",_n="Quadros pulados :",mn="Tamanho do buffer (Seg):",vn="Rede atividade (Mb):",gn="Rede velocidade (Mb):",bn="Latencia a transmissão (Sec):",du="Base em"+(lu="Latência para Broadcaster"),sl="Ping Twitch (Ms):",Od="Avisos",yn="Bem vindo ao",wn="Esta aplicação possui uma série de funcionalidades e foi desenvolvido para dar ao usuario total controle, por isso tem muitas opções, controles e personalizações, olhe as confiurações e os controles do aplicativo para compreender melhor como a utilizalo, em dúvida consulte o vídeo demonstrativo na Play Store, se restar qualquer dúvida use as informações de contato.",xn="Aviso para celulares",An="Este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outro dispositivo é limitado e pode nunca receber um suporte melhor, se você não tiver um teclado ou um D-pad + tecla enter e retorno do controlador (ESC funciona para tecla de retorno em um computador) use as teclas virtuais na tela para navegar (visíveis apenas em dispositivos de telefone/tablet), nas configurações você pode alterar a posição e a opacidade do D-pad virtual, clique em qualquer lugar da tela para mostrar o direcional virtual quando está oculto, não funciona.",kn="Posição da tela do D-pad",jn="Transparencia do D-pad",Wl="Opções do D-pad",Cn="Codecs bloqueados",In="Lista as capacidades dos codecs usados ​​e permite bloquear o uso de um codec",Pn='Codecs de software (OMX.google) geralmente têm pior desempenho, mas em alguns dispositivos eles podem ter precedência sobre codecs de hardware, usando este pode bloqueá-los e ver se o desempenho da reprodução melhora, por padrão, o decodificador OMX.google está desabilitado (se outro codec estiver disponível) um acúmulo constante de quadros ignorados é um indicativo de um problema de codec.
O conteúdo do aplicativo usa apenas decodificadores avc/h264 nenhum outro está listado.',Mn="Codecs suportados:",Vn="Resolução máxima:",On="Taxa de bits máxima:",Tn="Nível máximo:",Dn="Max fps por resolução:",_s="Máximo de instâncias:",ms="Desconhecido",Bn="Pelo menos um codec deve estar habilitado o tempo todo",En="Painel lateral ao vivo: do painel lateral direcional esquerdo ou de qualquer lugar, pressione 3",Nn="Solução alternativa modo multiplayer, PP e preview",Ln="Para alguns dispositivos que geralmente rodam versões antigas do Android, é necessário habilitár este para que o modo com varios players funcione corretamente. Normalmente, o problema é que o player (PP ou preview) não ficará visível, ou mesmo quando não estiver em uso fica visível como uma caixa preta sobre o player principal. Não habilite este se você não tiver problemas, pois isso resultará em qualidade de imagem inferior e possível perda de desempenho",qn="Histórico",zn="Assistido em",Gn="até",Rn="Classificação",Fn="Excluir este histórico",Qu="Apagar automaticamente conteúdo inacessível",Xu="Se estiver definido como SIM, o aplicativo removerá automaticamente VODs e clipes que estão inacessíveis (foram excluídos pelo streamer/criador) do histórico",Un="Nome A - Z",Hn="Nome Z - A",Jn="Jogo A - Z",Qn="Jogo Z - A",Xn="Mais Visualizaçõe",Yn="Menos Visualizações",Ac="Maior quantidade de canais",Sc="Quantidade de canais mais baixa",Kn="Assistido mais recente",Wn="Assistidos mais antigos",Zn="Pressione enter para deletar",$n="Esta transmissão ao vivo agora é um VOD
abrindo o VOD de onde você parou de assistir ao vivo:
",es="Permitir que o aplicativo faça e restaure backups?
(Os usuários e seu histórico serão backups)

Clique em Sim, o aplicativo salvará backups para uso futuro e restaurará um backup salvo se os dados do aplicativo estiverem vazios.É necessário dar permissão de armazenamento ao app para isso, então dê antes clique sim.

Se você não der permissão de armazenamento, nenhum backup será feito.

A pasta Backup é Main_Storage/data/com.fgl27.twitch/Backup",as="Tem certeza que deseja deletar tudo",ts="Criado/Desde mais recente",is="Criado/Desde mais antigo",os="Opções de miniatura",ns="Habilitar histórico ao vivo",ss="Habilitar histórico de Vídeos",ls="Habilitar histórico de clipes",ds="Abra o jogo",rs="Abra o canal",cs="Pressione enter acima de uma ação (para abri-la ou aplicá-la), retornar para sair sem aplicar",fs="Excluir este do histórico",us="Verificando status de seguidor...",ps="Atualize a tela após excluir para ver a alteração.",hs="Segure para a esquerda para opções de miniaturas",vs="Escolher qual substituir pelo de acima?",bs="Pressione Enter para substituir ou retornar para sair.",ys="Já está jogando",ws="Não foi possível abrir a visualização",Ku="Modo Picture in Picture",Yu="Seu dispositivo suporta apenas% x instâncias de codec (reprodutor tocando) ao mesmo tempo, não pode usar",As="Finalizado e/ou vazio",Ss="multistream 4 vias",js="Ajuda multistream :",Cs='Se você está tendo problemas de lentidão após habilitar o multistream, tente diminuir o valor de "Taxa de bits do player pequeno" nas configurações, o acúmulo de quadros pulados ou buffer constante é uma indicação de taxa de bits muito alta ou Internet lenta',Is="Adicionar streams: abra o feed de preview e clique em um stream ao vivo",Ps="Substituir streams: depois que o multistream estiver cheio, escolha um no feed de preview e escolha um para substituir na caixa de diálogo",Ms="Alterar fonte de áudio: D-pad direita ou esquerda ou teclas de mídia próxima faixa de visualização, mantenha enter pressionado para fonte de áudio todos os vídeos",Vs="Sair do multistream: do controle inferior do player ou tecla de retorno duas vezes",Os="Para fechar este abra as 4 transmissões ao vivo",bo="Picture in picture: Segure enter, após use o D-Pad para mover, redimensionar ou mudar os vídeos",Ds=", Clique em uma miniatura para abrir ou substituir, use o direcional esquerdo/direito para mudar a fonte de áudio",Ts=", Pressione retorno para voltar ao menu superior",Bs="Pressione a tecla de retorno para voltar a",ur="Mostrar pré-visualização nas telas das transmissões ao vivo",pr="Iniciando a reprodução de onde parou anteriormente:",fr="Mostrar pré-visualização nas telas VOD",_r="Mostrar pré-visualização nas telas CLIP",wr="Quando a visualização de um clipe termina, troca automática para o próximo clipe disponível",ir="Mostrar pré-visualização no painel lateral",Ns="Mostrar pré-visualização nas miniaturas de preview do player",Cd="Se você não quiser ou seu dispositivo ficar lento quando mais de um player estiver ativo, defina como NÃO",Ls="Desativar visualização quando multistream está ativado",Id="Por motivos de desempenho, alguns dispositivos podem ficar lentos com vários players, se estiver OK para multistream, mas quando o player de pré-visualização e multistream estão ativos ficar lento configuram este para NÃO",mr="A pré-visualização falhou ao carregar:",gr="inacessível",kr=", este Vídeo pode ter sido excluído",hr="A pré-visualização do vídeo terminou",vr="player incapaz de reproduzir devido a um problema de conexão de rede",br="player incapaz de reproduzir, devido ao erro do player",yr=", tente diminuir o valor da taxa de bits do player nas configurações",sr="Tamanho da visualização do player",lr="Defina o tamanho do player de pré-visualização o pequeno reprodutor de pré-visualização exibido ao pressionar para cima quando um Live, VOD ou clipe é aberto.",dr=["Pequeno","Médio","Grande","Extra grande"],Br="Tamanho da pré-visualização das telas",Er="Defina o tamanho do player de pré-visualização exibido acima das telas principais do aplicativo.",Qf="Volume do player de pré-visualização de tela",Xf="Definir o volume do player de pré-visualização que aparece acima das telas principais do aplicativo.",Dr=["Tamanho da miniatura","Maior"],qs="Atraso na pré-visualização",zs="Defina o tempo de atraso que a pré-visualização levará para começar a carregar depois que uma miniatura for selecionada, isso ajuda com dispositivos lentos que atrasam ao rolar",rr="Volume do player de pré-visualização",cr="Defina o volume do player de pré-visualização (o pequeno player que é exibido ao pressionar para cima) quando um Live, VOD ou clipe esta aberto.",or="Volume dos players principais (Quando o player de pré-visualização está sendo exibida)",nr="O volume do player principal (todos os players picture in picture, players multistream) pode ser menor quando o player de pré-visualização é exibido",Yl="Configurações de players em miniatura",Gs="Sempre inicie o aplicativo na tela do usuário",td="Isso impedirá restaurar o ponto onde o app esava antes de ser fechado, mas permite escolher o usuário ao iniciar o aplicativo",Rs="última atualização:",Fs="Saia do PP ou Multistream para abrir este Vídeo",Us='Mostrar "um serviço de acessibilidade está em execução aviso"',ad="Se o dispositivo tiver um serviço de acessibilidade habilitado, o aplicativo mostrará um aviso, é um problema conhecido do Android que o serviço de acessibilidade pode deixar lento alguns dispositivos e causar congelamentos ou lentidão neste aplicativo.",Hs="Serviço (s) de acessibilidade detectado (s)",Js="Leia mais sobre neste link:",Qs="Se você tiver travamentos ou problemas relacionados a lentidão, feche este aplicativo e desabilite todos os serviços de acessibilidade depois para resolver.
Para não mostrar este aviso nunca mais desabilite-o nas configurações",Xs="Tempo limite de atualização automática",id="Quando estiver habilitado, o aplicativo irá atualizar automaticamente as telas, a atualização acontece apenas quando a tela foi usada, se você quiser uma atualização automatica habilite este",ac="Atualização automática em segundo plano",tc='Quando "Tempo limite de atualização automática" está definido e habilitado, a atualização automática acontecerá em segundo plano (mas com o aplicativo visível, o Android não permite a execução irrestrita em segundo plano para evitar lentdão em outro aplicativo), esteja ciente porque o aplicativo tem muitas telas quando esta opção está habilitada, a atualização automática pode causar um leve atraso aleatório em alguns dispositivos mais lentos',$s="Vídeo principal",Zs=(tl="Vídeo principal MultiStream")+"maior e chat: pressione a tecla para baixo, depois use esquerda/direita para mudar com é o grande vídeo",$r="Alterar automaticamente a qualidade do player de Source para Auto quando o player atrasar",ec="Quando esta opção está habilitada e você não está usando qualidade automática se o player estiver lento, ele mudará para qualidade automática e avisará sobre isso, um atraso do player é, por exemplo, quando o player não conseguiu reproduzir por mais de 15 segundos ( o algoritmo é mais complexo do que apenas o tempo, é claro), após essa mudança, o reprodutor voltará automaticamente à fonte quando você iniciar um novo fluxo de vod",il='player está lento, qualidade alterada para "Modo automático"',ll="player está lento, qualidade diminuiu",ol="Pré-visualização, stream encerrado"+(nl="ou muitos erros"),dl="Avançar ou retroceder (apenas para VOD e Clips): use as teclas direcional direita/esquerda ou avançar/retroceder mídia",rl="Uma parte deste está silenciado porque contém conteúdo protegido por direitos autorais, a cor mais escura na barra de busca indica as partes",ul="tem de presente um sub!",Md="Anônimo",fl="Você está permanentemente proibido de escrever em",pl="Escreva no chat",Mu="Configurações extras de chat",hl="Quando selecionado, pressione Enter para mostrar o teclado na tela. Se você tiver um teclado físico conectado, pressione Enter ou Esc para ocultar o teclado na tela",_l="chat ROOMSTATE:",ml="Sem restrições",od="Opções",vl="Excluir tudo",jl="@streamer",Cl="Resultado esperado no chat:",Il="Enviar",Pl="Esta lista de emote está vazia",Ml="chat esta no modo apenas para seguidores e você não é um seguidor de",Vl="e você só está seguindo desde",Ol="Modo somente emote de Twitch",Tl="Escolha qual chat escrever ou pressione retornar para fechar",Bl="Opções de escrita no chat",El="Auto ocultar teclado virtual",Nl="Permite controlar o comportamento do teclado virtual na tela, se você tiver um teclado físico conectado use-o, se não estiver configure para nunca",Ll="Nunca",ql="Se teclado detectado",zl="Sempre",Gl="Ordem dos emoções",Fl="Se estiver desabilitado, as listas de emotes serão mostradas conforme decebida pelo servidor",Ul="Forçar mostrar chat",Hl="Se você deseja ver o chat quando escrever para chat for usado, habilite este",Rl="Adicionar uma chave de autorização do usuário para poder acessar e escrever no chat",Jl="chat não está pronto para enviar! Tente novamente em um ou dois segundos.",Ql="Resgate, Destacar Minha Mensagem",Xl="Resgate, Enviar uma Mensagem no Modo Sub-Only",gl="Opções de chat",md="Destacar mensagens do streamer (fundo rosa escuro)",gd="Destacar mensagens de moderadores (fundo ciano escuro)",vd="Destacar mensagens de Resgate (somente mensagem de fundo roxo)",nd="Destacar mensagens @streamer (fundo vermelho escuro, o @ é azul)",sd="Destaque suas mensagens de @username (fundo verde escuro, o @ é azul)",ld="Destacar suas mensagens enviadas (fundo verde escuro)",dd="Mostrar sub mensagens no chat (fundo laranja escuro)",rd="Mensagem dos bits em destaque (fundo amarelo escuro)",cd="Mostrar mensagens de ações (geralmente são de Bots de fluxo)",ud='Estas mensagens são geralmente iguais às Sub mensagens, mas enviadas através de um stream bot, então se você tiver "Mostrar sub ..." habilite isto é redundante',fd="Diferença de cor de fundo de mensagens individuais",pd="Os modos são desabilitar, habilitar (modo automático), claro ou mais escuro, no modo automático se o chat estiver acima do stream, a mensagem impares terão uma cor de destaque de fundo mais escura do que as pares, se o chat não estiver acima (lado a lado, por exemplo) a cor ficará clara",bd="Insira uma linha para separar as mensagens de chat individuais",ii="Rolagem animada ao adicionar uma nova mensagem no chat",hd="Fazendo login no chat com o usuário atual",_d="O aplicativo sempre fará login no chat usando o usuário atual quando uma chave de autorização for fornecida, a menos que o chat seja desabilitado nos controles da parte inferior do player, mas se esta opção for definida como NÃO, impedirá o login usando o nome de usuário atual e, em vez disso, será registrado como anônimo , mesmo que forneça uma chave de autorização. Isso não impede o envio de mensagem de chat para este usuário se uma chave for adicionada, mas impede o app de saber se você está banido do chat e impede o status do chat ROOMSTATE",ff="Bloquear bots e comandos de bot (!comando) de serem exibidos no chat",Yr="Mostrar data e hora da mensagem",xd="Cores de nick legíveis",Ad="Em vez de usar a cor padrão do nick que algumas vezes não pode ser lida em um fundo escuro, use uma cor personalizada fácil de visualizar",ar="Limpar chat, apagar mensagens do usuário",hc="Esta unica mensagem de usuário foi solicitada para ser excluída",_c="Todas as mensagens deste usuário foram solicitadas para serem excluídas",mc=", o tempo esgotou para",tr="Excluir mensagens de chat de um usuário específico (normalmente após receberem um intervalo ou banimento), as mensagens excluídas sempre terão um fundo azul, a mensagem será excluída se este estiver definido como SIM, se NÃO apenas a cor de fundo irá mudar",Sd="Sempre abra o host no final da stream, se disponível",Jr="Sempre fique com o player aberto após o fim do Live",kd='Mostrar "Aviso de falha de ping para Twitch"',jd="O aplicativo está constantemente verificando a conexão com o Twitch por meio de um ping, se isso falhar muitas vezes, um aviso será exibido, se esse aviso estiver encomodando, defina como NÃO",Td="Tempo limite de segurar a tecla (em milissegundos)",Dd="Quanto tempo você precisa para segurar uma tecla para que uma ação de segurar aconteça, as ações são atualizar a tela, mostra opções de miniaturas etc.",Bd="Estilo de seleção atual",Ed="Novo estilo de seleção",Nd='Use cima/baixo para selecionar uma opção, pressione retornar para sair, pressione Enter em "Aplicar alterações" para confirmar.',Ld="Sombras",Gd="Nenhum",Rd="Branco",Fd="Cinza",Ud="Preto",qd="Cores",zd="Resultado",Hd="Aplicar alterações",Jd="Tipo de cor",Qd="Estilos",Yd="Plano de fundo, texto, borda, barra de progresso assistido",Kd="Padrão, Personalizado, Branco, Cinza, Vermelho, Laranja, Amarelo, Verde, Azul, Roxo, Rosa",Wd=(Xd="Pressione enter")+"para aceitar a mudança RGB",Zd="Estilo de miniatura selecionado",er="Abrir em um player externo",jr=["Esquerda","Direita"],Cr=["Inferior direito","Centro direito","Superior direito","Centro superior","Superior esquerdo","Centro esquerdo","Inferior esquerdo","Centro inferior"],Ir=["Direita","Centro","Esquerda"],qr="Posição de notificação na tela",Lr=[" Canto superior direito","Centro superior","Esquerda superior","Esquerda inferior","Centro inferior","Direita inferior"],ic=[au="Desativar","Modo normal, pode causar re-buffers","Modo mais baixo, pode causar ainda mais re-buffers"],iu=[en+"-"+($t="Desativado"),en+"- modo normal",en+"- Modo mais baixo"],lc="Vídeos controles de retroceder/avançar rápido",dc="Controla os passos dos retrocesso/avanço, ao clicar e segurar para a esquerda/direita o tempo do aumen depois que do tempo limite, ele aumentará até o tempo máximo do passo, após soltar a tecla e não clicar em um segundo, o tempo de passo será redefinido para o tempo mínimo.

Pressionar pra cima irá sobrescrever o valor mim/max, permitindo que você escolha o passo

Fazer cliques únicos sem segurar a tecla não aumentará o tempo

Esta opção só funciona em vídeos para Clip o passo é sempre de 1 segundo",rc="Tempo mínimo (inicial) de passo",cc="Tempo máximo de passo",uc="Aumentar o tempo limite após segurar por",fc="pressione para cima para bloquear o valor do passo",pc="bloqueado pressione para cima para alterar",gc="No chat",vc="Mostrar total de usuários no chat ou visualizações",Cc="Isso é muito útil para saber, por exemplo, se o chat offline tem algum usuário com quem conversar, também deixe o usuário saber a diferença entre o visualizações e o usuário no chat",Fu="Mostrar visualizações",Uu="Mostrar chatters",bc="Jogou",yc="Capítulos",wc="de",bu="Ocultar relógio da tela principal",vu="Ocultar relógio do player",yu="Ocultar título da tela principal",xu="O título central, Ao vivo, Clip, Configurações etc ...",wu="Ocultar dicas de navegação na tela",Au="Dicas de navegação como, segure uma tecla para uma ação e relacionados",Su="Minimizar automaticamente o aplicativo quando inativo por",ku="Impedir que o aplicativo fique executado quando ninguém estiver vendo, um aviso aparecerá dando ao usuário 15 segundos para pressionar qualquer tecla para evitar a minimização",ju="O aplicativo irá minimizar automaticamente devido à inatividade em

% x

Pressione qualquer tecla para prevenir",Pu="Restantes:",Ru="Visibilidade do status do player",zu="Configurações de pré-visualização",qu="Mostrar pré-visualização",Gu="Tamanho da pré-visualização",Hu="Proteção OLED",Ju="Quando ativado, a tela ficará totalmente preta por 50 ms a cada 20 minutos, apenas necessário para dispositivos com telas OLED que apresentam problemas de burn-ins",Zu="como",$u="milissegundos",ef="hora",af="horas",tf="Direito",of="Esquerda",nf="Inferior",sf="Topo",lf="Méd",df="Offset",rf="Conteúdo afiliado",cf="Se você não quiser ver o conteúdo de afiliado, desative esta opção.",uf="Este aplicativo possui alguns links afiliados e imagens, de parceiros que possuem produtos altamente recomendados, o proprietário do aplicativo pode receber comissões por compras feitas através desses links, todos os links, imagens ou qualquer coisa relacionada ao produto são devidamente verificados e / ou usados antes de serem exibidos no aplicativo.",pf="O conteúdo afiliado pode ser desabilitado nas configurações.",hf="O histórico do aplicativo mostra o que você assistiu no aplicativo apenas, se o histórico estiver habilitada",_f="a pré-visualização",mf="Clique aqui para sair do player",vf="Tella cheia",xf="Clique, pressione 9 ou F11",bf="Isto não é suportado em um navegador",yf="Aviso navegadores",wf="Este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outros dispositivos é limitado. Você pode controlar o aplicativo usando um mouse, mas funciona melhor usando as teclas do teclado para cima, para baixo, esquerda, direita, enter e retornar (ESC funciona como um retornar). ",Af="Clique duas vezes sobre uma ação (para abri-la ou aplicá-la), clique fora da caixa para sair sem aplicar",Sf="Pressione voltar, entrar ou clique fora para fechar",kf="Habilitar Live e Vod Twitch player",jf="Isso só é necessário desativar se você quiser ver o player usado em TVs para verificar suas strings e layout por motivos de teste",Cf="Use o teclado para este recurso",If="Falha ao carregar a informação do Video",Mf=", navegue até o painel lateral (opção superior) Usuário: Mudar, adicionar, chave, pressionar enter no usuário",Df="Habilitado e funcionando",Hf="Se você quiser saber mais sobre ou agradecer ao mantenedor do servidor proxy, use o link:",Ef="Desativado nas configurações",Bf="Não funciona, falhou %x vezes",Nf="Configurações de Proxy (Proxy contra censura da Internet e afins)",Lf="Somente um proxy pode ser habilitado por vez, Permite que o servidor proxy obtenha links de streaming de um servidor diferente, que pode permitir que você veja conteúdo proibido em sua região e evita anúncios, desative isso se você tiver algum problema de transmissão com Lives como buffers longos e repetidos, travamentos ou conexão lenta que faz com que a qualidade da stream seja reduzida.",Ff="Tempo limite do proxy (tempo em segundos)",Uf='Se o servidor proxy estiver fora, este será o tempo que levará para "desistir" da conexão e retornar à implementação padrão do Twitch',Yf="Pré-Visualização avançar/retrocer",Kf="Permite controlar a imagem de pré-visualização ao avançar ou retroceder uma VOD, a vançar/retrocer não está disponível para todos as VODs.",Wf="Imagem única",Zf="Carrossel de imagens",rp="Confirmar",sp="Sem alterações no conteúdo adulto devido à falta de senha",op="Proteger alterações maduras com uma senha",lp="Defina uma senha e clique em Confirmar, caso sair irá redefinir as configurações de adulto",dp="Digite a senha salva e clique em Confirmar, caso sair irá redefinir as configurações maduras",ap="Conteúdo adulto está desabilitado",tp="Conteúdo adulto",ip="Quando desativado, o aplicativo bloqueará todo o conteúdo marcado como conteúdo adulto incluído conteúdo de seguidores, isto inclui todas lives marcadas como adultas e todo o conteúdo das seções de clipes e VOD",cp="Tela desligada (somente áudio)",up="Desbloquear canal",fp="Desbloquear jogo",pp="Bloquear canal",hp="Bloquear jogo",_p="Adicione um usuário antes de poder bloquear",mp="Não é possível obter o canal para este",gp="Mostrar bloqueados",vp="Ordenado por data de bloqueio",bp="Ordenado por nome de A a Z",yp="Não há conteúdo bloqueado deste tipo",wp="Sem adicionar um usuário e token de autorização, o aplicativo pode falhar ao carregar o conteúdo, esta é uma limitação da API do Twitch",xp="O aplicativo está falhando ao carregar o conteúdo devido a uma limitação da API do Twitch, para corrigir isso, adicione um usuário e um token de autorização.",Ap="Visite %site em outro aparelho e digite o código: %code",Sp="Verificando confirmação de acesso em %d...",kp="Verificando agora!",jp="Sem acessar o serviço de adição de usuário",Cp="Aacesso ao usuário atual perdido, revise a seção de usuários"}function rh(){ro="или 2",Ks=Ws="или кнопку перемотки",q="Поиск",z="Настройки",G="Управление",R="Описание",F="Скрыть",U="Введенный вами текст пуст.",H="Ничего не найдено.",Q=J="Сменить раздел",X="Сменить: Стримы/Хайлайты",Y="Сменить: Период (24ч, 7д, 30д, все)",K="Перейти в раздел",Z="В эфире",$="Категории",ee="Стрим по",te="Время просмотра",Zr="Врмемя ожидания",ie="Уже",ne="Введите ваш запрос...",se="Введите ключ авторизации...",le="Введите имя пользователя...",de="Нажмите кнопку ОК,",re="Каналы",Pi="На пред. экран: кнопка назад",fe="закончился",Pd=", проверка хоста",pe="Видео доступно только для подписчиков.",sc="только для подписчиков.",Mf=", перейдите на боковую панель (верхняя опция) Аккаунт: сменить, добавить, ключ и нажмите ОК",he="Ошибка подключения или тут нет контента. Обновите, чтобы попробовать еще раз",_e="Ошибка подключения или нет контента. Нажмите ОК, чтобы обновить",ve=ae="для",be="Ошибка подключения, невозможно загрузить контент, выход...",ye="Стримы",we="Хайлайты",xe="Клипы",Ae="Контент",Se="Транслировал",ke="Продолжительность",je="Просмотр",Ce="Просмотров",Ie="Зрителей",Me="Нажмите еще раз для выхода!",uo="Нажмите еще раз для выхода из Картинка в Картинке",xs="Нажмите еще раз для выхода из мультистрима!",Ve="Вы хотите выйти из SmartTV Client для Twitch?",Oe="Выход",Oc=Vc="Изменения",Tc="Это только последние изменения, чтобы прочитать полные, проверьте ссылку ниже:",Dc=L="Обновить",Bc="Проверить обновления",zc="Проверка обновлений...",Gc="Ошибка проверки",Rc="У вас последняя версия",Nc="Последнее обновление:",Lc="Ошибка обновления, попробуйте вручную!",qc="Не удалось загрузить APK-файл, попробуйте вручную!",Fc="Доступно обновление APK",Uc="Web обновление доступно",Jc=", проверьте панель обновлений",Hc="Посл. проверка:",Qc="Обновления",Xc="Проверять обновления в фоне",Yc="Показать диалог обновления, когда обновление доступно",Kc=["Да","Only a toast message",ge="Нет"],Wc="Начался процесс обновления, это может занять несколько секунд, подождите!",Zc="Если в Play Store не отображается обновление, попробуйте еще раз через несколько минут!",$c="Вам нужна версия APK 3.0.303 или выше, чтобы использовать это, обновите",eu="Приложение обновлено успешно",Te="Закрыть",De="Свернуть",Be="Отмена",Ne="Каналы в эфире",Le="Ретрансляции",qe="Игры в эфире",ze="Отслеживаемое",Ge=W="Аккаунт",Re="Удалить",Fe="Пользователь не существует",Ue="ретранслирует",Je="уже установлено",Qe="Сменить",Xe="Первый пользователь может отслеживать (при добавлении ключа) и видеть трансляции каналов в реальном времени за пределами экрана пользователя",Ye="Добавьте пользователя Twitch, чтобы отображать контент отслеживаемых каналов",Ke="24ч",We="7д",Ze="30д",$e="все",ea="Перемотка",aa="на",ta="Перемотка отменена",ia=", время перемотки больше, чем продолжительность",oa="Сек",na="Мин",sa="Мс",la="Ч",da="Источник",ra="SmartTV Client для Twitch",ca="Нажмите ОК или назад, чтобы закрыть это.",ua="Нажмите назад, чтобы закрыть это.",fa="Нажмите назад, чтобы открыть окно обновления, или ОК, чтобы закрыть это..",pa="Плеер:",ha="Чат:",Sn="Показать чат",_a="Текущая установленная версия",ma="последняя доступная версия",ga="Воспроизведение видео: перемещайтесь с помощью нав. панели (вверх/вниз/влево/вправо), нажмите ОК или плей/пауза/кнопка 1",va="Обновить содержимое экрана:",ba="Выход из приложения: на боковой панели нажмите Выход.",Di="Принудительное закрытие приложения: удерживайте кнопку назад, пока оно не закроется автоматически",ya="Переключить экран: кнопка назад, затем D-Pad"+(xt="Вверх/Вниз")+Ws,wa="Начать поиск: на боковой панели нажмите поиск, введите текст, нажмите кнопку ОК на виртуальной клавиатуре и выберите вариант поиска.",xa="Об этом приложении: на боковой панели нажмите Описание",Aa="Это клиент Twitch для Android TV, выпущенный бесплатно для всех, кто хочет им пользоваться.",Sa="Это приложение не связано с Twitch. Это пользовательское приложение, оно работает благодаря тому, что Twitch предоставляет весь API, который позволяет приложению отображать контент Twitch.",Ai="Эта версия приложения предназначена только для тестирования в браузере!",ka="Контактная информация:",ja="Это приложение с открытым исходным кодом под лицензией GNU General Public License v3.0, доступно на GitHub.",Ca="Это приложение использует следующие зависимости:",Ia="Поддержка телефонов и планшетов:",Pa="Да, это приложение можно использовать на телефонах и планшетах, но оно предназначено в основном для телевизоров. Поддержка других устройств ограничена из-за их отсутсвия в Play Store. Используйте ссылку ниже для загрузки последней версии APK и установите вручную на телефон/планшет",Ma="Показать информационную панель: нажмите кнопку ОК или кнопки D-pad, если чат и прямой эфир канала не отображаются",Va="Закрыть видео: дважды нажмите кнопку назад или кнопку Стоп.",Oa="Плей/пауза видео: откройте информационную панель и нажмите символ паузы",Ta="Показать ленту превью: D-pad вверх",Da="Изменить качество видео: используйте нижний элемент управления плеером (Качество)",Ba="Принудительно обновить видео (если оно зависает): измените качество видео на такое же.",Ea="Показать или скрыть чат: D-pad вниз или кнопка 3"+(Zp="или в нижних элементах управления плеером"),Na="Изменить положение чата: D-pad влево, или перемотка назад (только видео и клипы)"+Zp,La="Изменить размер чата: D-pad вправо"+Zp,qa="Изменение яркости фона чата: изменените в нижних элементах управления плеером",za="Принудительно обновить чат в прямых трансляциях (в случае, если он зависает или не загружается): используйте нижние элементы управления плеера.",Ga="Начать поиск: откройте инф. панель, перейдите с помощью нав. панели (влево/вправо) в Поиск и нажмите ОК.",dn="Поддерживаются все мультимедийные кнопки (плей,пауза,стоп,перемотка и т.д.).",Ra="Чат и видео: кнопка 2 или кнопка перемотки вперед, переключает между режимом «Картинка в картинке» и режимом 50/50",Ci="Принудительное отключение чата",Fa="Добавление ключа позволяет приложению получать доступ к чату, используя ваш аккаунт. Для отправки сообщений и получения вашего списка эмоций (позволяет получать подарочные подписки в чате), подписываться/отменять подписку на каналы/игры и быстрее получать доступ к некоторому контенту.

Добавление ключа не требует усилий и может быть выполнено в любой момент позже.

Сомневаетесь, прочтите эту ссылку:

%x

Для некоторых устройств необходима мышь для завершения действия авторизации, так как вам может потребоваться вручную нажать кнопку подтверждения.

для добавления ключа",Ua="Добавить ключ",Ha="Ключ добавлен успешно",Ja="Ошибка ключа, нужно добавить новый",Qa="Вы пытаетесь добавить ключ для пользователя",Xa="но этот ключ для пользователя",Ya="Отслеживается",Ka="Отслеживать",Wa="И вы не добавили ключ авторизации, приложение не может проверить ваш саб-статус.",Za="И вы не являетесь подписчиком этого канала",et="Ошибка авторизации ключа, пожалуйста, проверьте и попробуйте еще раз",oi="Добавленный ключ не принадлежит пользователю",at="Нет аккаунта",tt="Установите пользователя и ключ, чтобы иметь возможность подписаться/отписаться",Li="Сначала добавьте пользователя",ot="Перезапустить",nt="Клип",st=ce="Канал",lt="Сеть отключена, приложение не может работать без интернета",dt="Сетевое подключение восстановлено",rt="Фолловеров",ct="Фолловер",ut=", нельзя подписаться или отписаться",ft=oe="Игра",pt="Да",ht="Вы действительно хотите удалить аккаунт",_t="Нажмите вверх для",mt="Отслеживаемые игры",gt="Смена между",vt="Удерж. ОК",bt=["Янв","Фев","Мар","Апр","Май","Июнь","Июль","Авг","Сен","Окт","Ноя","Дек"],yt=["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],wt="Запустил",At="Видео",St=Ee="Повтор",kt="выход в",jt="нажмите назад для выхода",It="Создано",Pt="Открыть трансляцию",Wu="Онлайн",Cu='Показать "Стример Онлайн" Предупреждение',Iu="При просмотре клипа или видео, приложение может проверить онлайн ли этот стример, если да, появится предупреждение. Чтобы открыть прямую трансляцию, просто используйте опцию нижнего элемента управления плеером.",Wr="Нажмите, чтобы открыть чат или дождитесь возвращения в прямой эфир",zr="Остаться на стриме",Gr="Проверить еще раз, не онлайн ли он",Rr="Проверить, идет ли трансляция:",Fr="Проверяем, в сети ли...",Ur="Последняя проверка:",Hr="Трансляция офлайн",Vt="Нет трансляции",Ot="У этого клипа нет прошлых трансляций",Tt="И из-за этого нет чата",Dt="сейчас",Bt="Открыть рейд",Et="Плеер",Nt="Размер начального буфера:",Lt="Сколько необходимо для буферизации перед началом воспроизведения. Это не связано с максимальным размером, которого может достичь буфер (максимальный размер буфера зависит от размера ОЗУ устройства). Более низкое значение приведет к более раннему началу воспроизведения и это рекомендуется. Изменение этого значения на большее значение в большинстве случаев не приведет к улучшению и могут возникнуть проблемы.",zt="Начальный буфер видео (Видео и Хайлайты)",Gt="Начальный буфер клипов",Rt="Язык",Ft="Чат: подключение к",el="Тайм-аут подключения, ошибка регистрации...",al="Чат: подключен",ru="Сообщение отправлено, включена задержка чата, сообщение будет отображаться в чате после",so="Чат: задержка",Ut=(Sr="Воспроизвести с самого начала или с того места, где вы перестали смотреть")+" Видео?",Ar=Sr+" Прямой эфир?",Jt=(Ht="С:"+u)+"Начало",Qt="Чат: Чат закончился!",Xt=", Недавние",Yt=", Самые просматриваемые",Kt="Добавьте ключ пользователя, чтобы видеть отслеживаемые видео",Wt="Сменить: последние/популярные",tu="Включить",Zt="Включено",wd="Темный режим",yd="Светлый режим",hi="Приложение было закрыто во время просмотра, воспроизведение восстанавливается",ei="Восстановить воспроизведение",ai="Приложение сохраняет то, что играло, на случай непреднамеренного закрытия. При нехватке памяти система может закрыть приложение или принудительно его может закрыть пользователь. В таком случае, приложение восстановит то, что ранее воспроизводилось, при следующем запуске.",ti="Размер шрифта чата",ni="Анимированные превью видео",ed="Анимировать превью, когда выбран хайлайт или видео, если для этого видео доступно анимированное превью (не во всех видео оно есть).",si="Боковая панель: D-Pad влево или кнопка назад",li="Размер",di="Яркость",ri="Запрещенный контент, он ограничен вашим регионом или официальным приложением Twitch.",ci="Шаг перемотки",ui=lo="сек.",pi=fi="мин.",_i="Часы",jc="Настройте разницу часов приложения в соответствии с вашим часовым поясом",mi="Язык контента",gi="Язык отображаемого контента, стримы, видео, клипы",bi=vi="Язык приложения",xr="Пусто",Si="Невозможно перейти во время буферизации",ki="Чат принудительно отключен, включите его в нижних элементах управления плеера. Чат принудительно отключен.",ji="Не удалось загрузить этот клип/видео. Не могу воспроизвести",Ii="Яркость фона чата",Mi="Следующий",Oi="Играет в следующий раз",Vi="Воспроизвести все",Ti="Автовоспроизведение следующего клипа",Bi="Назад в главное меню",Ei="Нажмите вверх",pn="Ужерживайте вверх",Ni="Акт. каналы",Pr="Диалог запуска Видео",Mr="Выберите поведение по умолчанию, при воспроизведении видео. Если информация о нем присутствует в истории пользователя, его можно воспроизводить с того места, где вы последний раз прекращали просмотр. Если для этого параметра установлено значение «всегда с начала», это поведение также будет применяться к предпросмотру видео",Vr="Всегда с самого начала",Or="Всегда с последней остановки",Tr="Всегда спрашивать",$d="Параметры диалога завершения проигрывателя",qi="Тайм-аут окончания диалога плеера",zi="Когда Live/Видео/Клип заканчиваются, появляется диалоговое окно с опцией, что делать дальше, установите время (в секундах), которое потребуется для действия по умолчанию.",Gi="Отключить таймер",Ri="Размер чата",Fi="Позиция чата",Xi="Режим видео",Do="Большой+маленький экран",Hi="Видео и чат",To="50/50 и чаты",Ji="Скорость",Qi="Качество",Yi="Нормально",Ki="Авто",$i="Очень низкое",eo="Низкое",ao="Высокое",to="Очень высокое",io="Качество превью",oo="Разрешение превью по умолчанию для прямых трансляций, видео и игр (не применимо для клипов). Низкое значение поможет приложению загружаться быстрее, но превью может выглядеть размытым.",no="Для пожертвований Paypal используйте ссылку ниже:",Es="Для пожертвований в биткойнах, используйте адрес кошелька или QR-код:",co="Ошибка подключения, невозможно загрузить информацию о потоке",fo="Рестарт плеера",Lu=["Маленький","Большой",gs=wi="Все"],ou=[gs,"Сверху слева","Сверху справа","Снизу слева","Снизу справа"],nu=[gs,"Сверху","Снизу слева","Снизу центр","Снизу справа"],vo="Не ограничен",ho="Это используется для предотвращения задержек на слабых устройствах при одновременном воспроизведении нескольких видео (большинство устройств будут отставать, пропуская кадры в этой ситуации, поскольку они созданы для воспроизведения только одного видео), а также помогает ограничить использование пропускной полосы Интернета. В случае, если вам нужно ограничение, которое также установит для параметра «Качество проигрывателя по умолчанию» значение «Авто». Рекомендуемое разрешение/битрейт для всех малых проигрывателей составляет 720p/3 Mbps и неограничено для основного или большого проигрывателя для большинства слабых устройств.",go="Различные значения разрешения или битрейта для основного и малого плеера могут вызвать короткую буферизацию/загрузку при переключении с основным проигрывателем в режиме Картинка в Картинке (нажатие вниз изменит плееры), чтобы предотвратить установите у них одинаковые значения. Показателем слишком высокого битрейта является постоянное накопление пропущенных кадров или постоянная буферизация потока.",_o="Битрейт - "+(_u="Главный плеер, для большого плеера картинка в картинке или верхнего плеера 50/50"),mo="Битрейт - "+(gu="Маленькие плееры, для малого в режиме «Картинка в картинке» и всех мультистрим плееров."),mu="Разрешение - "+_u,gu="Разрешение - "+gu,cu="Заблокированные разрешения",uu="При использовании автоматического качества можно заблокировать одно или несколько разрешений, которые когда-либо будут использоваться, это можно использовать для устройств, которые отстают при воспроизведении определенного разрешения, поскольку клипы не могут воспроизводиться в автоматическом режиме, это также заблокирует автоматический режим этого разрешения в клипах.",fu="Пользователь может перезаписать выделенное вручную во время воспроизведения.

XX означает, что все разрешения, которые начинаются с этого значения до XX, будут запрещены к использованию, если разрешение помечено как заблокированное.",pu="Заблокировано",hu="Не заблокировано",yo="Источник звука",Bu="Аудио и громкость",Vu="Аудио включить все",Nu="Все источники звука включены",Ou="Громкость все до 100%",Eu="Вся громкость плеера установлена на 100%",Tu="Громкость -",Du="Аудио -",Wi="Качество плеера по умолчанию",Zi='Этот параметр всегда будет учитываться при воспроизведении одного видео. Для воспроизведения режима Картинка в Картинке или Мультистрима необходимо использовать качество авто, поэтому проверьте параметр настроек "'+(po="Максимально допустимое автоматическое качество (разрешение/битрейт)")+'"',wo="Картинка в Картинке, 50/50 или Мультистрим (Только для прямых трансляций):",xo="Включить режим «Картинка в картинке»: при воспр. видео нажмите вверх, чтобы отобразить предпросмотр. Выберите поток, затем удерживайте «ОК» чтобы начать.",Ao="Изменение видеоконтента: из предпросмотра плеера, если в режиме мультистрима всегда одно нажатие. Если на КвК или 50/50 одним нажатием обновляется большое или верхнее видео. Удерживайте кнопку ОК или нажмите 1, чтобы обновить маленькое или нижнее видео",So="Сменить аудио источник для всех видео: зажать D-pad вниз",ko="Изменение содержимого между видео (только картинка в картинке): D-pad вниз (большой становится маленьким и наоборот)",jo="Изменение положения малого видео (только картинка в картинке): D-pad влево",Co="Изменение размера малого видео (только картинка в картинке): D-pad вправо",Io="Изменить источник звука: используйте нижний элемент (Источник звука). Если в режиме 50/50 или мультистриме, используйте левую/правую кнопки. Если на КвК, используйте кнопки мультимедиа следующей/предыдущей дорожки.",Po="Перезапуск плеера: используйте нижний элемент управления (Перезапуск проигрывателя), это перезапустит плееры. Это не синхронизирует содержимое плеера с другим",Mo="Ручная синхронизация плееров: Используйте элемент управления (Скорость) для замедления потока, который спешит, или наоборот. Работает только в режиме КвК",Vo='Качество видео "Картинка в картинке": проверьте в настройках приложения "'+po+'"',Oo="Закрыть маленькое или нижнее видео (только картинка в картинке): дважды нажмите кнопку назад, чтобы выйти из режима КвК или 50/50",Bo="Включить режим 50/50 (два потока, два чата): если картинка в картинке включена, нажмите 2 или кнопку для быстрой перемотки вперед или используйте нижние элементы управления «Режим видео»",Ys="Включить мультистрим: используйте нижние элементы управления или медиа-кнопку перемотки",Kr=["Когда отображается информация о плеере","Показывать всегда","Не показывать"],Eo="Однократное нажатие кнопки назад",No="Закрыть плеер, картинку в картинке, 50/50 или мультистрим, нажав один раз назад.",Kl="Уведомления",qo='Показать "Стример в прямом эфире" для отслеживаемых каналов',Pc='Показать "Стример изменил заголовок" для отслеживаемых каналов',Mc='Показать "Стример изменил игру" для отслеживаемых каналов',Ic='Показать "Игра запущена" для игр, за которые отслеживаются',cl="Уведомление над другими приложениями, когда приложение работает в фоновом режиме",Nr="Если вы запретите уведомления для этого приложения в настройках системы, эта функция не будет работать. Если уведомления приложения запущены, и вы выйдете из приложения, уведомление будет отображаться поверх других приложений, даже если это отключено.",Qr="Сколько раз показывать уведомление",Xr="Тайм-аут отдельного уведомления составляет около 3 секунд и не может быть изменен, потому что этот тайм-аут контролируется системой, но вы можете установить, сколько раз будет отображаться одно и то же уведомление.",oc='Запретить показывать "Стример в эфире" для потоков, которые транслируются',nc="Это полезно, чтобы приложение не показывало длинный список уведомлений, когда приложение не используется в течение некоторого времени, например, когда вы выключаете устройство или экран выключен (приложение не будет отображать уведомление, когда устройство включено, но экран выключенный)",zo="Размер шрифта приложения",Go="Это изменит размер всего текста и большинства значков в приложении (за вычетом размера шрифта чата, потому что у него есть собственная настройка). Слишком маленькое значение может не отображаться, слишком большое значение выводит текст за границы, то есть это значение ограничено.",Ro="Гл. меню",Fo=Lo="Мой канал",Uo="Не в сети",Jo="Использовать закругленные аватары каналов",Qo="Поскольку большинство аватаров каналов имеют квадратную форму, некоторые аватары могут выглядеть некорректно.",Ho="Скрыть счетчик позиции/общего количества",Vd="Есть счетчик позиции, который информирует о текущей позиции и общем загруженном контенте на экранах, на которых есть воспроизводимый контент.",Xo="Сменить: Смещение начальной позиции",Yo="Вместо того, чтобы начинать с первого возможного видео, начните с более низкой позиции в списке, чтобы избежать необходимости спускаться вниз и вниз, чтобы найти более старое видео.",Wo="Выберете действие для аккаунта",Ko="Пользователь",Zo="Нажмите на пользователя, чтобы просмотреть параметры",$o="Сменить, добавить, ключ",ln="Если есть получать проблемы с буферами, отключите "+(en="Низкая задержка")+"
Используйте "+(qt="Начальный буфер стрима")+" равное или меньше 1, чтобы это имело эффект",kc="Сортировка превью игр",an="Боковая панель или сортировка превью плеера",tn="Сортировка прямых трансляций на боковой панели и превью плеера, при предпросмотре это применимо только к пользователям в эфире и избранным (вся история без базы просмотра, история просматривается в первую очередь, а видео - самые последние)",on="Алфавит A - Z",nn="Алфавит Z - A",sn="Включить анимации",$l="Управляет боковой панелью, прокруткой, уведомлениями и связанными анимациями",Zl="Настройка интерфейса,цветовой стиль,анимация и т.п.",xc="Настройка контента,сортировка,автообновление,тайм-ауты и т.п.",me="Скрыть боковую панель после 5 секунд неиспользования",rn="Приложение работает:",cn="Невозможно получить ссылку на видео",su="Нажмите ОК, чтобы сменить на -",un="(Нажмите ОК для отписки)",fn="(Нажмите ОК для подписки)",hn="Сегодня",_n="Проп. кадры:",mn="Размер буфера (сек): ",vn="Сет. акт. (мб): ",gn="Ск. сети (мб):",bn="Задержка до стримера (сек): ",du="Исходя из "+(lu="Задержка до стримера"),sl="Пинг до Twitch (мс): ",Od="Предупреждения",yn="Добро пожаловать в",xn="Уведомление для телефонов",An="Это приложение предназначено для использования в основном на телевизорах, поддержка других устройств не гарантирована. Если у вас нет клавиатуры или D-pad с кнопками ОК и назад (ESC работает для возврата на компьютере) используйте экранные виртуальные экранные кнопки для навигации (видимые только на телефонах/планшетах), в настройках вы можете изменить положение и непрозрачность виртуального D-Pad. Нажмите в любом месте экрана, чтобы отобразить виртуальный D-Pad, когда он скрыт.",kn="Позиция D-pad",jn="Прозрачность D-pad",Wl="Настройки D-Pad",Cn="Заблокированные кодеки",In="Перечислить возможности используемых кодеков и разрешить/запретить использование кодеков",Pn='Программные кодеки (OMX.google) обычно имеют худшую производительность, но на некоторых устройствах они могут иметь приоритет над аппаратными кодеками. Используя это, кодеки можно заблокировать и посмотреть, улучшится ли производительность воспроизведения, по умолчанию декодер OMX.google отключен (если доступен другой кодек). Постоянное накопление пропущенных кадров указывает на проблему с кодеком.
В контенте приложения используются только декодеры avc/h264, другие не предусмотрены.',Mn="Поддерживаемые кодеки:",Vn="Макс. разрешение:",On="Макс. битрейт:",Tn="Макс. уровень:",Dn="Макс. FPS:",_s="Макс. экземпляры:",ms="Неизвестно",Bn="Хотя бы один кодек должен быть включен постоянно",En="Боковая панель Акт.каналы: на боковой панели D-pad влево или из любого места кнопка 3",qn="История",zn="Смотрел на",Gn="до",Rn="Сортировка",Fn="Удалить эту историю",Qu="Автоматическое удаление недоступного контента",Xu="Если для этого параметра установлено значение ДА, приложение автоматически удалит видео и клипы, которые недоступны (были удалены стримером/создателем) из истории.",Un="Имя A - Z",Hn="Имя Z - A",Jn="Игра A - Z",Qn="Игра Z - A",Xn="Просмотры самые высокие",Yn="Просмотры самые низкие",Ac="Количество каналов наивысшее",Sc="Количество каналов наименьшее",Kn="Просмотренные новейшие",Wn="Просмотренные старейшие",Zn="Нажмите ОК, чтобы удалить",$n="Эта прямая трансляция теперь видео
открыть видео с того места, где вы в последний раз прекратили смотреть прямую трансляцию:
",es="Разрешить приложению создавать и восстанавливать резервные копии?
(Пользователи и их история будут зарезервированы)

Нажмите Да, приложение сохранит резервные копии для использования в будущем и восстановит сохраненную резервную копию, если данные приложения пусты..Необходимо предоставить для этого разрешение хранилища приложения, поэтому дайте, прежде чем нажать Да.

Если вы не дадите разрешение на хранение, резервное копирование не будет выполнено..

Папка резервного копирования Main_Storage/data/com.fgl27.twitch/Backup",as="Вы уверены, что хотите удалить все",ts="Создано / Новейшее",is="Создано / Старое",os="Дополнительные опции",ns="Включить историю",ss="Включить историю видео",ls="Включить историю клипов",ds="Открыть категорию",rs="Открыть канал",cs="Нажмите ОК (чтобы открыть или применить). Назад, чтобы выйти без применения",fs="Удалить это из истории",us="Проверка статуса подписки ...",ps="Обновите экран после удаления, чтобы увидеть изменения.",hs="Удерж. влево для доп. опций",vs="Выбрать для замены на указанное выше?",bs="Нажмите ОК, чтобы заменить. Назад, чтобы выйти без изменения.",ys="Уже воспроизводится",ws="Невозможно открыть предпросмотр",Ku="Картинка в Картинке",Yu="Ваше устройство поддерживает только %x экземпляры кодека (плеер воспроизводит) одновременно, нельзя использовать",As="Завершено или пусто",Ss="Мультистрим",js="Мультистрим подсказки",Cs="Если зависает мультистрим, снизьте «битрейт малого плеера» в настройках. Пропущенные кадры или постоянная буферизация указывают на слишком высокий битрейт или медленный интернет.",Is="Добавить стрим: вверх и выберете стрим.",Ps="Заменить стрим: вверх, выберете стрим и выберите один для замены в диалоговом окне.",Ms="Изменить источник звука: D-pad вправо/влево, удерживайте вниз для включения звука всех стримов.",Vs="Выход из мультистрима: дважды на кнопку назад.",Os="Чтобы скрыть это, откройте 4 стрима",bo="КвК: Удерживайте ОК. (Влево для перемещения, Вправо для изм. размера или Вниз для изм. видео)",Ds=", Нажмите на превью, чтобы открыть или заменить поток, используйте D-pad влево/вправо, чтобы изменить источник звука.",Ts=", Нажмите Назад, чтобы вернуться в главное меню",Bs="Нажмите назад, чтобы вернуться к",ur="Показать превью на экранах прямых трансляций",pr="Начало воспроизведения с места последней остановки:",fr="Предварительный просмотр на экранах Видео",_r="Предварительный просмотр на экранах Клип",wr="Когда предварительный просмотр клипа заканчивается, автоматический переход к следующему доступному клипу",ir="Предварительный просмотр на боковой панели",Ns="Предварительный просмотр на эскизах превью проигрывателя",Cd="Если вам не нужно или ваше устройство тормозит, когда активно более одного плеера, установите для этого параметра значение НЕТ.",Ls="Отключить превью при включенном мультистриме",Id="По соображениям производительности некоторые устройства могут отставать от некоторых плееров. Если у вас все в порядке на мультистриме, но когда активны плеер превью и мультистрим, устройство лагает, установите для этого параметра значение НЕТ",mr="Превью не загружается:",gr="недоступно",kr=", это видео могло быть удалено",hr="Предпросмотр видео закончился",vr="Плеер не может воспроизвести из-за проблемы с подключением",br="Плеер не может воспроизвести из-за ошибки плеера",yr=", попробуйте снизить значение битрейта маленького плеера в настройках",sr="Размер превью плеера",lr="Установить размер превью плеера для превью миниатюр",dr=["Маленький","Средний","Большой","Огромный"],Br="Размер экрана превью",Er="Установить размер превью",Dr=["Маленький","Большой"],qs="Задержка превью",zs="Установите время задержки, которое займет превью, чтобы начать загрузку после выбора миниатюры. Это помогает медленным устройствами, которые тормозят при прокрутке",rr="Громкость превью",cr="Установки, какая будет громкость превью ленты",or="Главная громкость плееров",nr="Громкость основного плеера (все плееры - картинка в картинке, мультистрим плееры) может быть меньше, когда отображается проигрыватель превью",Yl="Настройки плеера превью",Gs="Всегда запускать приложение на экране пользователя",td="Это предотвратит работу восстановления воспроизведения, но позволит выбрать пользователя при запуске приложения.",Rs="посл. обновление:",Fs="Выйдите из КвК или Мультистрима, чтобы открыть это видео",Us='Показать "служба спец. возможностей работает с предупреждением"',ad="Если на устройстве включена служба спец. возможностей, приложение покажет предупреждение, это известная проблема Android, что служба спец. возможностей может тормозить некоторые устройства и вызывать зависания или задержки в этом приложении..",Hs="Cлужба(ы) спец. возможностей обнаружены",Js="Подробнее читайте по этой ссылке:",Qs="Если у вас есть проблемы с зависанием или задержкой, закройте приложение и отключите все службы спец. возможностей, это должно помочь.
Чтобы больше никогда не отображать это предупреждение, отключите его в настройках",Xs="Тайм-аут автообновления",id="Когда этот параметр включен, приложение будет автоматически обновлять раздел или эскизы превью, обновление происходит только тогда, когда выбран раздел, если вы хотите обновлять в фоновом режиме, включите",ac="Автообновление в фоновом режиме",tc="Когда установлен и включен параметр «тайм-аут автообновления», автообновление будет происходить в фоновом режиме (но когда приложение отображается, Android не позволяет неограниченно запускать в фоновом режиме, чтобы избежать проблем с другими приложениями). Когда вы вернетесь к экрану, на котором раньше обновление не запускалось, имейте в виду, что в приложении слишком много экранов. Когда этот параметр включен, автообновление может вызвать случайные лаги на некоторых слабых устройствах.",$s="Основное видео",Zs=(tl="Основное видео мультистрима")+" и чат: нажмите вниз, затем используйте влево/вправо, чтобы изменить.",$r="Авто изменение качества плеера с источника на авто, когда проигрыватель отстает",ec="Когда эта опция включена, и вы не используете авто качество плеера, если плеер не может воспроизвести более 15 секунд он переключится на авто качество и предупредит об этом. После этого изменения плеер автоматически вернется к источнику, когда вы включите новый стрим или видео",il='Плеер тормозит, качество изменено на"Авто режим"',ll="Плеер тормозит, качество снижено",ol="Превью, трансляция завершена"+(nl="или слишком много ошибок"),dl="Перемотка (только для видео и клипов): используйте D-pad вправо/влево или кнопки для быстрой перемотки вперед/назад",rl="Часть звука отключена, поскольку содержит контент, защищенный авторским правом, более темный цвет на панели поиска указывает эти на части",ul="подарил вам подписку!",Md="анонимный",fl="Вы забанены на этом канале",pl="Написать в чат",Mu="Доп. настройки чата",hl="Когда этот параметр выбран, нажмите ОК, чтобы отобразить экранную клавиатуру. Если у вас подключена физическая клавиатура, нажмите назад или esc, чтобы скрыть экранную клавиатуру.",_l="Чат канала:",ml="Нет ограничений",od="Опции",vl="Удалить все",Dl="Unicode Эмодзи",bl="Смайлы Twitch",yl="BTTV глобальные",wl="BTTV стримера",xl="FFZ глобальные",Al="FFZ стримера",Sl="7TV глобальные",kl="7TV стримера",jl="@стример",Cl="В чате ожидаемый результат:",Il="Отправить",Pl="Этот список эмоций пуст",Ml=Ml="Чат доступен только для подписчиков, и вы не являетесь подписчиком",Vl="вы подписаны только",Ol="Режим только смайлики",Tl="Выберите чат, в который хотите написать, или нажмите кнопку назад, чтобы закрыть это",Bl="Написать для опций чата",El="Авто скрытие клавиатуры",Nl="Позволяет управлять поведением экранной клавиатуры, если у вас подключена физическая клавиатура, используйте ее, если не установлено Никогда",Ll="Никогда",ql="Если клавиатура обнаружена",zl="Всегда",Gl="Сортировка смайлов",Fl="Если это отключено, списки смайлов будут отображаться по умолчанию.",Ul="Принудительно показать чат",Hl="Если вы хотите видеть чат, когда пишите в чат, включите это",Rl="Добавьте ключ пользователя, чтобы иметь возможность входить и писать в чат",Jl="Чат не готов! Попробуйте еще раз через несколько секунд.",Ql="Активировано Выделите мое сообщение",Xl="Активировано Отправить сообщение в режиме для подписчиков",gl="Настройки чата",md="Выделить сообщения от стримера (темно-розовый фон)",gd="Выделить сообщения от модератора (темно-голубой фон)",vd="Выделить сообщения о наградах (только сообщение с фиолетовым фоном)",nd="Выделить сообщения @streamer (темно-красный фон, @синий)",sd="Выделить сообщения вам @username (темно-зеленый фон, @синий)",ld="Выделить свои отправленные сообщения (темно-зеленый фон)",dd="Выделить сообщения подписчиков в чате (темно-оранжевый фон)",rd="Выделить сообщения Bits (темно-желтый фон)",cd="Сообщения действий (обычно это сообщения ботов стрима)",ud="Эти сообщения обычно аналогичны сообщениям подписчиков, но отправляются через стрим бота, поэтому, если у вас включен параметр «Выделить сообщения подписчиков...», это не нужно.",fd="Разница в цвете фона отдельных сообщений",pd="Отключить, Включить (авто), Светлый или Темный, В автоматическом режиме, если чат находится над стримом, у нечетного сообщения будет более темный фоновый цвет по сравнению с четным, если чат не выше (например, рядом) цвет будет ярким",bd="Вставить строку, чтобы разделить отдельные сообщения чата",ii="Анимированная прокрутка при добавлении нового сообщения в чат",hd="Вход в чат с текущим пользователем",_d="Приложение всегда будет входить в чат с использованием текущего пользователя, если предоставлен ключ авторизации (если только чат не отключен на нижних элементах управления плеера). Но если для этого параметра установлено значение НЕТ, это предотвратит вход с использованием текущего имени пользователя и вместо этого будет входить как анонимный, даже если предоставлен ключ авторизации. Это не препятствует отправке сообщений в чат (если добавлен ключ), но не позволяет узнать Twitch, заблокированы ли вы в чате, и не позволяет узнать нахождение в чате",ff="Блокировать отображение ботов и команды ботов (!команда) в чате",Yr="Показать время сообщения",xd="Читаемые цвета ников",Ad="Вместо использования цвета ников по умолчанию, который иногда не читается на темном фоне, использовать настраиваемый, удобный для чтения цвет.",ar="Очистка чата, удаление сообщений пользователей",hc="Это сообщение пользователя было запрошено на удаление",_c="Все сообщения от этого пользователя были запрошены на удаление",mc=", тайм-аут на",tr="Удалять сообщения от определенного пользователя (обычно после того, как он получил тайм-аут или бан). Удаленные сообщения будут иметь синий фон (если не изменялся цвет фона). Сообщение будет удалено, если стоит значение «Да»",Sd="Всегда открывать рейд в конце стрима, если он доступен",Jr="Всегда оставлять плеер открытым после окончания стрима",kd='Показать "Предупреждение об ошибке Ping to Twitch"',jd="Приложение постоянно проверяет соединение с Twitch с помощью пинга. Если это не удается, будет отображаться предупреждение, если это предупреждение отображается непреднамеренно, установите для этого параметра значение НЕТ",Td="Тайм-аут удержания кнопки (в миллисекундах)",Dd="Как долго вам нужно удерживать кнопку для действия удержания, действия обновляют экран, показывают параметры эскизов и т.д.",Bd="Текущий стиль",Ed="Новый стиль",Nd="Нажмите вверх/вниз, чтобы выбрать. Нажмите назад, чтобы выйти.",Ld="Оттенок",Gd="Без цвета",Rd="Белый",Fd="Серый",Ud="Черный",qd="Цвета",zd="Результат",Hd="Применить изменения",Jd="Тип цвета",Qd="Стили",Yd="Фон,Текст,Граница,Индикатор просмотра",Kd="По умолчанию,Пользовательский,Белый,Серый,Красный,Оранжевый,Желтый,Зеленый,Синий,Фиолетовый,Розовый",Wd=(Xd=yi="Нажмите ОК")+" принять изменение RGB",Zd="Выбранный стиль превью",er="Открыть во внешнем плеере",jr=["Слева","Справа"],Cr=["Внизу справа","Центр справа","Сверху справа","Центр сверху","Сверху слева","Центр слева","Снизу слева","Центр снизу"],Ir=["Справа","Центр","Слева"],qr="Позиция уведомления",Lr=["Правый верх","Центр верх","Левый верх","Левый низ","Центр снизу","Правый низ"],ic=[au="Отключить","Нормальный режим, может вызвать повторную буферизацию","Минимальный режим, может вызвать еще большее количество повторных буферизаций"],iu=[en+" - "+($t="Отключено"),en+" - Нормальный режим",en+" - Минимальный режим"],lc="Видео быстрая перемотка назад/вперед",dc="Управляет тем, насколько быстро будет выполняться переход назад/вперед. При нажатии и удерживании влево/вправо время шага увеличится. После истечения тайм-аута увеличения, оно увеличится до максимального времени шага. После отпускания кнопки и отсутствия нажатия в течение одной секунды время шага будет сброшено обратно на минимальное время шага.

Нажатие вверх перезапишет минимальное/максимальное значение, позволяя вам пройти через все возможные шаги, и заблокирует значение, пока индикатор выполнения не исчезнет

Выполнение одиночных нажатий без удержания кнопки не увеличит время

Эти параметры работают только с видео. Для клипа, шаг всегда составляет 1 секунду",rc="Минимальное (стартовое) время шага",cc="Максимальное время шага",uc="Увеличить тайм-аут после удержания в течение",fc="нажмите вверх, чтобы зафиксировать значение шага",pc="заблокировано нажмите вверх, чтобы изменить",gc="В чате",vc="Показывать общее количество пользователей или зрителей поверх чата",Cc="Это очень полезно, например, узнать, есть ли в чате какой-либо пользователь, с которым можно поговорить, а также узнать разницу зрители/пользователи чата.",Fu="Показать зрителей",Uu="Показать пользователей",bc="Воиспроизведено",yc="Части",wc="с",bu="Скрыть часы на главном экране",vu="Скрыть часы в плеере",yu="Скрыть заголовок текущего экрана",xu="Центральный заголовок,Прямая трансляция,Клип,Настройки и т.д.",wu="Скрыть подсказки по экранной навигации",Au="Советы по навигации: удержание кнопок для действий и другие",Su="Автоматически сворачивать приложение, когда оно неактивно",ku="Закрывать приложение, когда его никто не использует. Появится предупреждение, дающее пользователю 15 секунд, чтобы нажать любую кнопку, чтобы предотвратить закрытие",ju="Приложение автоматически закроется

%x

Нажмите любую кнопку, чтобы отменить",Pu="Осталось:",Ru="Окно диагностики",zu="Настройки предпросмотра",qu="Показать предпросмотр",Gu="Размер превью",Hu="OLED Защита от выгорания",Ju="Когда этот параметр включен, экран станет полностью черным на 50 мс каждые 20 минут, требуется только для устройств с OLED-дисплеями, у которых есть проблемы с выгоранием.",Zu="как",$u="мc",af=ef="ч.",tf="Справа",of="Слева",nf="Снизу",sf="Сверху",lf="ср.",df="Смещение",rf="Партнерский контент",cf="Если вы не хотите видеть партнерский контент, отключите его.",uf="В приложении есть некоторые ссылки и изображения от партнеров, у которых есть рекомендуемые товары. Владелец приложения может получать комиссионные за покупки, сделанные по этим ссылкам. Все ссылки, изображения или что-либо, относящееся к продукту, должным образом проверяются и используются перед показом в приложении.",pf="Партнерский контент можно отключить в настройках.",hf="История показывает что вы смотрели в приложении только если она включена",_f="превью",gf="Встроить плеер ",mf="Нажмите, чтобы выйти из плеера",vf=Ui="Полный экран",xf="Кликните, нажмите 9 или F11",bf="Это не поддерживается браузером",yf="Предупреждение браузера",wf="Это приложение предназначено для использования на ТВ, поддержка других устройств ограничена. Вы можете управлять приложением с помощью мыши, но лучше использовать клавиши вверх, вниз, влево, вправо, ввод и возврат (ESC работает как возврат).",Af="Нажмите дважды над действием (чтобы открыть или применить), щелкните за пределами диалогового окна, чтобы выйти без применения",Sf="Нажмите назад, ОК или щелкните за пределами, чтобы закрыть это",kf="Включить Live и Vod Twitch плеер",jf="Это нужно отключить только, если вы хотите увидеть ТВ-плеер, чтобы проверить его строки и протестировать.",Cf="Используйте клавиатуру для этой функции",If="Ошибка загрузки информации о VOD"}var ch='[{"unicode":"😀","code":"grin","id":"0_grin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f600.png"},{"unicode":"😃","code":"smile","id":"1_smile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f603.png"},{"unicode":"😄","code":"smile2","id":"2_smile2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f604.png"},{"unicode":"😁","code":"smile3","id":"3_smile3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f601.png"},{"unicode":"😆","code":"satisfied","id":"4_satisfied","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f606.png"},{"unicode":"😅","code":"sweat","id":"5_sweat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f605.png"},{"unicode":"🤣","code":"rolling","id":"6_rolling","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f923.png"},{"unicode":"😂","code":"tear","id":"7_tear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f602.png"},{"unicode":"🙂","code":"smile4","id":"8_smile4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f642.png"},{"unicode":"🙃","code":"smile-upside-down","id":"9_smile-upside-down","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f643.png"},{"unicode":"😉","code":"wink","id":"10_wink","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f609.png"},{"unicode":"😊","code":"smile-blush","id":"11_smile-blush","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60a.png"},{"unicode":"😇","code":"angel","id":"12_angel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f607.png"},{"unicode":"🥰","code":"adore","id":"13_adore","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f970.png"},{"unicode":"😍","code":"smile-love","id":"14_smile-love","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60d.png"},{"unicode":"🤩","code":"smile-star","id":"15_smile-star","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f929.png"},{"unicode":"😘","code":"kiss","id":"16_kiss","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f618.png"},{"unicode":"😗","code":"kiss2","id":"17_kiss2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f617.png"},{"unicode":"☺️","code":"relaxed","id":"18_relaxed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/263a.png"},{"unicode":"😚","code":"kiss3","id":"19_kiss3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61a.png"},{"unicode":"😙","code":"kis4","id":"20_kis4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f619.png"},{"unicode":"😋","code":"delicious","id":"21_delicious","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60b.png"},{"unicode":"😛","code":"tongue","id":"22_tongue","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61b.png"},{"unicode":"😜","code":"tongue-wink","id":"23_tongue-wink","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61c.png"},{"unicode":"🤪","code":"goofy","id":"24_goofy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92a.png"},{"unicode":"😝","code":"tongue-><","id":"25_tongue-><","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61d.png"},{"unicode":"🤑","code":"face-money","id":"26_face-money","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f911.png"},{"unicode":"🤗","code":"hugging","id":"27_hugging","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f917.png"},{"unicode":"🤭","code":"whoops","id":"28_whoops","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92d.png"},{"unicode":"🤫","code":"quiet","id":"29_quiet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92b.png"},{"unicode":"🤔","code":"thinking","id":"30_thinking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f914.png"},{"unicode":"🤐","code":"zipper","id":"31_zipper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f910.png"},{"unicode":"🤨","code":"skeptic","id":"32_skeptic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f928.png"},{"unicode":"😑","code":"unexpressive","id":"33_unexpressive","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f611.png"},{"unicode":"😶","code":"silent","id":"34_silent","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f636.png"},{"unicode":"😏","code":"smirk","id":"35_smirk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60f.png"},{"unicode":"😒","code":"unhappy","id":"36_unhappy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f612.png"},{"unicode":"🙄","code":"eyeroll","id":"37_eyeroll","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f644.png"},{"unicode":"😬","code":"grimace","id":"38_grimace","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62c.png"},{"unicode":"🤥","code":"pinocchio","id":"39_pinocchio","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f925.png"},{"unicode":"😌","code":"relieved","id":"40_relieved","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60c.png"},{"unicode":"😔","code":"pensive","id":"41_pensive","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f614.png"},{"unicode":"😪","code":"sleep","id":"42_sleep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62a.png"},{"unicode":"🤤","code":"drooling-face","id":"43_drooling-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f924.png"},{"unicode":"😴","code":"sleep-face","id":"44_sleep-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f634.png"},{"unicode":"😷","code":"cold-face","id":"45_cold-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f637.png"},{"unicode":"🤒","code":"sick-face","id":"46_sick-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f912.png"},{"unicode":"🤕","code":"bandage-face","id":"47_bandage-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f915.png"},{"unicode":"🤢","code":"nauseated-face","id":"48_nauseated-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f922.png"},{"unicode":"🤮","code":"sick-face","id":"49_sick-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92e.png"},{"unicode":"🤧","code":"sneeze","id":"50_sneeze","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f927.png"},{"unicode":"🥵","code":"feverish","id":"51_feverish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f975.png"},{"unicode":"🥶","code":"blue-faced","id":"52_blue-faced","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f976.png"},{"unicode":"🥴","code":"intoxicated","id":"53_intoxicated","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f974.png"},{"unicode":"😵","code":"dizzy","id":"54_dizzy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f635.png"},{"unicode":"🤯","code":"mind blown","id":"55_mind blown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92f.png"},{"unicode":"🤠","code":"cowboy","id":"56_cowboy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f920.png"},{"unicode":"🥳","code":"celebration","id":"57_celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f973.png"},{"unicode":"😎","code":"cool-face","id":"58_cool-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60e.png"},{"unicode":"🤓","code":"cool","id":"59_cool","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f913.png"},{"unicode":"🧐","code":"stuffy","id":"60_stuffy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9d0.png"},{"unicode":"😕","code":"confused","id":"61_confused","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f615.png"},{"unicode":"😟","code":"worried","id":"62_worried","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61f.png"},{"unicode":"🙁","code":"frown","id":"63_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f641.png"},{"unicode":"☹️","code":"frown","id":"64_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2639.png"},{"unicode":"😮","code":"mouth-open","id":"65_mouth-open","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62e.png"},{"unicode":"😯","code":"surprised","id":"66_surprised","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62f.png"},{"unicode":"😲","code":"astonished","id":"67_astonished","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f632.png"},{"unicode":"😳","code":"dazed","id":"68_dazed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f633.png"},{"unicode":"🥺","code":"puppy eyes","id":"69_puppy eyes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97a.png"},{"unicode":"😦","code":"frown","id":"70_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f626.png"},{"unicode":"😧","code":"anguished","id":"71_anguished","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f627.png"},{"unicode":"😨","code":"fearful","id":"72_fearful","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f628.png"},{"unicode":"😰","code":"fearful2","id":"73_fearful2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f630.png"},{"unicode":"😥","code":"disappointed","id":"74_disappointed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f625.png"},{"unicode":"😢","code":"cry-face","id":"75_cry-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f622.png"},{"unicode":"😭","code":"cry-face2","id":"76_cry-face2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62d.png"},{"unicode":"😱","code":"fear-face","id":"77_fear-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f631.png"},{"unicode":"😖","code":"confounded","id":"78_confounded","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f616.png"},{"unicode":"😣","code":"persevere","id":"79_persevere","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f623.png"},{"unicode":"😞","code":"disappointed","id":"80_disappointed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61e.png"},{"unicode":"😓","code":"cold","id":"81_cold","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f613.png"},{"unicode":"😩","code":"weary","id":"82_weary","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f629.png"},{"unicode":"😫","code":"tired","id":"83_tired","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62b.png"},{"unicode":"😤","code":"triumph","id":"84_triumph","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f624.png"},{"unicode":"😡","code":"angry","id":"85_angry","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f621.png"},{"unicode":"😠","code":"mad","id":"86_mad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f620.png"},{"unicode":"🤬","code":"swearing","id":"87_swearing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92c.png"},{"unicode":"😈","code":"devil","id":"88_devil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f608.png"},{"unicode":"👿","code":"demon","id":"89_demon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47f.png"},{"unicode":"💀","code":"death","id":"90_death","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f480.png"},{"unicode":"☠️","code":"crossbones","id":"91_crossbones","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2620.png"},{"unicode":"💩","code":"poop","id":"92_poop","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a9.png"},{"unicode":"🤡","code":"clown","id":"93_clown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f921.png"},{"unicode":"👹","code":"creature","id":"94_creature","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f479.png"},{"unicode":"👺","code":"creature2","id":"95_creature2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47a.png"},{"unicode":"👻","code":"ghost","id":"96_ghost","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47b.png"},{"unicode":"👾","code":"alien","id":"97_alien","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47e.png"},{"unicode":"🤖","code":"robot","id":"98_robot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f916.png"},{"unicode":"😺","code":"cat-face","id":"99_cat-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63a.png"},{"unicode":"😸","code":"cat-smile","id":"100_cat-smile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f638.png"},{"unicode":"😹","code":"cat-tear","id":"101_cat-tear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f639.png"},{"unicode":"😻","code":"cat-heart","id":"102_cat-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63b.png"},{"unicode":"😼","code":"cat-ironic","id":"103_cat-ironic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63c.png"},{"unicode":"😽","code":"cat-kiss","id":"104_cat-kiss","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63d.png"},{"unicode":"🙀","code":"cat-surprised","id":"105_cat-surprised","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f640.png"},{"unicode":"😿","code":"cat-sad","id":"106_cat-sad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63f.png"},{"unicode":"😾","code":"cat-pouting","id":"107_cat-pouting","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63e.png"},{"unicode":"👋","code":"hand-wave","id":"108_hand-wave","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44b.png"},{"unicode":"🤚","code":"backhand","id":"109_backhand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91a.png"},{"unicode":"🖐️","code":"hand-open-finger","id":"110_hand-open-finger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f590.png"},{"unicode":"✋","code":"hand","id":"111_hand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270b.png"},{"unicode":"🖖","code":"hand-vulcan","id":"112_hand-vulcan","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f596.png"},{"unicode":"👌","code":"hand-ok","id":"113_hand-ok","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44c.png"},{"unicode":"✌️","code":"hand-v","id":"114_hand-v","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270c.png"},{"unicode":"🤞","code":"hand-cross","id":"115_hand-cross","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91e.png"},{"unicode":"🤟","code":"hand-ily","id":"116_hand-ily","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91f.png"},{"unicode":"🤘","code":"hand-horns","id":"117_hand-horns","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f918.png"},{"unicode":"🤙","code":"hand-call","id":"118_hand-call","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f919.png"},{"unicode":"🖕","code":"hand-finger","id":"119_hand-finger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f595.png"},{"unicode":"👈","code":"hand-point","id":"120_hand-point","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f448.png"},{"unicode":"👇","code":"hand-poin2","id":"121_hand-poin2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f447.png"},{"unicode":"☝️","code":"hand-point3","id":"122_hand-point3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/261d.png"},{"unicode":"👍","code":"hand-thumb-up","id":"123_hand-thumb-up","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44d.png"},{"unicode":"👎","code":"hand-thumb-down","id":"124_hand-thumb-down","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44e.png"},{"unicode":"✊","code":"hand-punch","id":"125_hand-punch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270a.png"},{"unicode":"👊","code":"hand-punch2","id":"126_hand-punch2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44a.png"},{"unicode":"🤛","code":"hand-punch3","id":"127_hand-punch3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91b.png"},{"unicode":"🤜","code":"hand-punch4","id":"128_hand-punch4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91c.png"},{"unicode":"👏","code":"hand-clap","id":"129_hand-clap","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44f.png"},{"unicode":"🙌","code":"hand-celebration","id":"130_hand-celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64c.png"},{"unicode":"👐","code":"hand-open","id":"131_hand-open","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f450.png"},{"unicode":"🤲","code":"hand-prayer","id":"132_hand-prayer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f932.png"},{"unicode":"🤝","code":"hand-agreement","id":"133_hand-agreement","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91d.png"},{"unicode":"🙏","code":"hand-please","id":"134_hand-please","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64f.png"},{"unicode":"✍️","code":"hand-write","id":"135_hand-write","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270d.png"},{"unicode":"💅","code":"cosmetics","id":"136_cosmetics","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f485.png"},{"unicode":"🤳","code":"self","id":"137_self","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f933.png"},{"unicode":"💪","code":"muscle","id":"138_muscle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4aa.png"},{"unicode":"🦵","code":"kick","id":"139_kick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b5.png"},{"unicode":"🦶","code":"kick2","id":"140_kick2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b6.png"},{"unicode":"👂","code":"ear","id":"141_ear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f442.png"},{"unicode":"👃","code":"nose","id":"142_nose","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f443.png"},{"unicode":"🧠","code":"brain","id":"143_brain","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e0.png"},{"unicode":"🦷","code":"tooth","id":"144_tooth","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b7.png"},{"unicode":"👀","code":"eyes","id":"145_eyes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f440.png"},{"unicode":"👁️","code":"eye","id":"146_eye","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f441.png"},{"unicode":"👅","code":"tongue2","id":"147_tongue2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f445.png"},{"unicode":"👄","code":"lips","id":"148_lips","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f444.png"},{"unicode":"👶","code":"baby","id":"149_baby","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f476.png"},{"unicode":"👨‍🦲","code":"bald","id":"150_bald","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f9b2.png"},{"unicode":"👴","code":"old-man","id":"151_old-man","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f474.png"},{"unicode":"👵","code":"old-woman","id":"152_old-woman","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f475.png"},{"unicode":"🔥","code":"fire","id":"153_fire","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f525.png"},{"unicode":"👨‍🚒","code":"firefighter","id":"154_firefighter","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f692.png"},{"unicode":"👩‍🚒","code":"firefighter2","id":"155_firefighter2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f469-200d-1f692.png"},{"unicode":"👮‍♂️","code":"police-officer","id":"156_police-officer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f46e-200d-2642-fe0f.png"},{"unicode":"👮‍♀️","code":"police-officer-woman","id":"157_police-officer-woman","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f46e-200d-2640-fe0f.png"},{"unicode":"👨‍👩‍👧‍👦","code":"family","id":"158_family","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f469-200d-1f467-200d-1f466.png"},{"unicode":"🙈","code":"monkey-see","id":"159_monkey-see","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f648.png"},{"unicode":"🙉","code":"monkey-hear","id":"160_monkey-hear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f649.png"},{"unicode":"🙊","code":"monkey-speak","id":"161_monkey-speak","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64a.png"},{"unicode":"💋","code":"kiss-lips","id":"162_kiss-lips","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48b.png"},{"unicode":"💌","code":"heart-letter","id":"163_heart-letter","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48c.png"},{"unicode":"💘","code":"arrow-cupid","id":"164_arrow-cupid","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f498.png"},{"unicode":"💝","code":"valentine","id":"165_valentine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49d.png"},{"unicode":"💖","code":"sparkle-heart","id":"166_sparkle-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f496.png"},{"unicode":"💗","code":"pulse","id":"167_pulse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f497.png"},{"unicode":"💓","code":"beating","id":"168_beating","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f493.png"},{"unicode":"💞","code":"revolving","id":"169_revolving","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49e.png"},{"unicode":"💕","code":"love","id":"170_love","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f495.png"},{"unicode":"❣️","code":"exclamation","id":"171_exclamation","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2763.png"},{"unicode":"💔","code":"broken-heart","id":"172_broken-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f494.png"},{"unicode":"💟","code":"heart-Decoration","id":"173_heart-Decoration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49f.png"},{"unicode":"🖤","code":"heart-black","id":"174_heart-black","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a4.png"},{"unicode":"🤎","code":"heart-brown","id":"175_heart-brown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f90e.png"},{"unicode":"💙","code":"heart-blue","id":"176_heart-blue","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f499.png"},{"unicode":"💚","code":"heart-green","id":"177_heart-green","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49a.png"},{"unicode":"🧡","code":"heart-orange","id":"178_heart-orange","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e1.png"},{"unicode":"💜","code":"heart-purple","id":"179_heart-purple","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49c.png"},{"unicode":"❤️","code":"heart-red","id":"180_heart-red","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2764.png"},{"unicode":"🤍","code":"black-white","id":"181_black-white","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f90d.png"},{"unicode":"💛","code":"heart-yellow","id":"182_heart-yellow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49b.png"},{"unicode":"💯","code":"hundred","id":"183_hundred","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4af.png"},{"unicode":"💢","code":"mad","id":"184_mad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a2.png"},{"unicode":"💥","code":"boom","id":"185_boom","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a5.png"},{"unicode":"💫","code":"stars","id":"186_stars","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ab.png"},{"unicode":"💦","code":"splashing","id":"187_splashing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a6.png"},{"unicode":"💨","code":"comic-dash","id":"188_comic-dash","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a8.png"},{"unicode":"🕳️","code":"hole","id":"189_hole","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f573.png"},{"unicode":"💬","code":"balloon-dialog","id":"190_balloon-dialog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ac.png"},{"unicode":"🗨️","code":"dialog","id":"191_dialog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5e8.png"},{"unicode":"🗯️","code":"angry-balloon","id":"192_angry-balloon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5ef.png"},{"unicode":"💭","code":"balloon-bubble","id":"193_balloon-bubble","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ad.png"},{"unicode":"💤","code":"comic-sleep","id":"194_comic-sleep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a4.png"},{"unicode":"🕶️","code":"glasses-dark","id":"195_glasses-dark","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f576.png"},{"unicode":"🥽","code":"glasses-swimming","id":"196_glasses-swimming","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97d.png"},{"unicode":"🥼","code":"scientist","id":"197_scientist","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97c.png"},{"unicode":"👔","code":"tie","id":"198_tie","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f454.png"},{"unicode":"👕","code":"tshirt","id":"199_tshirt","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f455.png"},{"unicode":"👖","code":"pants","id":"200_pants","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f456.png"},{"unicode":"🧣","code":"neck","id":"201_neck","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e3.png"},{"unicode":"🧤","code":"hand","id":"202_hand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e4.png"},{"unicode":"🧥","code":"jacket","id":"203_jacket","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e5.png"},{"unicode":"🧦","code":"stocking","id":"204_stocking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e6.png"},{"unicode":"👗","code":"clothing","id":"205_clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f457.png"},{"unicode":"👘","code":"clothing2","id":"206_clothing2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f458.png"},{"unicode":"👙","code":"swim-clothing","id":"207_swim-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f459.png"},{"unicode":"👚","code":"woman-clothing","id":"208_woman-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45a.png"},{"unicode":"👛","code":"coin-clothing","id":"209_coin-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45b.png"},{"unicode":"👜","code":"purse","id":"210_purse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45c.png"},{"unicode":"👝","code":"pouch","id":"211_pouch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45d.png"},{"unicode":"🛍️","code":"shopping-bag","id":"212_shopping-bag","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6cd.png"},{"unicode":"🎒","code":"school-bag","id":"213_school-bag","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f392.png"},{"unicode":"👞","code":"shoe","id":"214_shoe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45e.png"},{"unicode":"👟","code":"sneaker","id":"215_sneaker","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45f.png"},{"unicode":"🥾","code":"hiking-boot","id":"216_hiking-boot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97e.png"},{"unicode":"🥿","code":"ballet flat","id":"217_ballet flat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97f.png"},{"unicode":"👠","code":"woman-shoe","id":"218_woman-shoe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f460.png"},{"unicode":"👡","code":"woman-shoe2","id":"219_woman-shoe2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f461.png"},{"unicode":"👢","code":"woman-boot","id":"220_woman-boot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f462.png"},{"unicode":"👑","code":"king","id":"221_king","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f451.png"},{"unicode":"👒","code":"hat","id":"222_hat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f452.png"},{"unicode":"🎩","code":"tophat","id":"223_tophat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a9.png"},{"unicode":"🧢","code":"baseball cap","id":"224_baseball cap","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e2.png"},{"unicode":"⛑️","code":"aid","id":"225_aid","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26d1.png"},{"unicode":"📿","code":"beads","id":"226_beads","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ff.png"},{"unicode":"💄","code":"lipstick","id":"227_lipstick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f484.png"},{"unicode":"💍","code":"diamond-ring","id":"228_diamond-ring","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48d.png"},{"unicode":"💎","code":"diamond","id":"229_diamond","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48e.png"},{"unicode":"🔇","code":"mute","id":"230_mute","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f507.png"},{"unicode":"🔉","code":"medium","id":"231_medium","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f509.png"},{"unicode":"🔊","code":"loud","id":"232_loud","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50a.png"},{"unicode":"📢","code":"loud2","id":"233_loud2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e2.png"},{"unicode":"📣","code":"cheering","id":"234_cheering","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e3.png"},{"unicode":"📯","code":"horn","id":"235_horn","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ef.png"},{"unicode":"🔔","code":"bell","id":"236_bell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f514.png"},{"unicode":"🔕","code":"bell","id":"237_bell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f515.png"},{"unicode":"🎼","code":"music-score","id":"238_music-score","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3bc.png"},{"unicode":"🎵","code":"music-note","id":"239_music-note","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b5.png"},{"unicode":"🎶","code":"music-notes","id":"240_music-notes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b6.png"},{"unicode":"🎙️","code":"microphone","id":"241_microphone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f399.png"},{"unicode":"🎤","code":"microphone2","id":"242_microphone2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a4.png"},{"unicode":"🎷","code":"sax","id":"243_sax","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b7.png"},{"unicode":"🎸","code":"guitar","id":"244_guitar","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b8.png"},{"unicode":"🎹","code":"piano-keys","id":"245_piano-keys","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b9.png"},{"unicode":"🎺","code":"trumpet","id":"246_trumpet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3ba.png"},{"unicode":"🎻","code":"violin","id":"247_violin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3bb.png"},{"unicode":"🥁","code":"drumsticks","id":"248_drumsticks","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f941.png"},{"unicode":"📱","code":"cellphone","id":"249_cellphone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f1.png"},{"unicode":"☎️","code":"phone","id":"250_phone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/260e.png"},{"unicode":"📞","code":"phone2","id":"251_phone2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4de.png"},{"unicode":"📠","code":"fax","id":"252_fax","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e0.png"},{"unicode":"🔋","code":"battery","id":"253_battery","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50b.png"},{"unicode":"🔌","code":"plug","id":"254_plug","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50c.png"},{"unicode":"🖥️","code":"computer-desktop","id":"255_computer-desktop","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a5.png"},{"unicode":"🖨️","code":"printer","id":"256_printer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a8.png"},{"unicode":"⌨️","code":"keyboard","id":"257_keyboard","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2328.png"},{"unicode":"🖱️","code":"mouse-computer","id":"258_mouse-computer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5b1.png"},{"unicode":"💽","code":"computer-disk","id":"259_computer-disk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4bd.png"},{"unicode":"💾","code":"floppy-disk","id":"260_floppy-disk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4be.png"},{"unicode":"📀","code":"blu-ray","id":"261_blu-ray","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4c0.png"},{"unicode":"🧮","code":"calculation","id":"262_calculation","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ee.png"},{"unicode":"🎥","code":"camera","id":"263_camera","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a5.png"},{"unicode":"🎞️","code":"cinema","id":"264_cinema","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f39e.png"},{"unicode":"📽️","code":"cinema2","id":"265_cinema2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4fd.png"},{"unicode":"📸","code":"camera-flash","id":"266_camera-flash","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f8.png"},{"unicode":"📼","code":"vhs-tape","id":"267_vhs-tape","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4fc.png"},{"unicode":"🔎","code":"magnifying","id":"268_magnifying","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50e.png"},{"unicode":"🕯️","code":"light","id":"269_light","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f56f.png"},{"unicode":"💡","code":"bulb","id":"270_bulb","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a1.png"},{"unicode":"🔦","code":"electric-torch","id":"271_electric-torch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f526.png"},{"unicode":"📒","code":"notebook","id":"272_notebook","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4d2.png"},{"unicode":"📃","code":"note","id":"273_note","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4c3.png"},{"unicode":"📰","code":"newspaper","id":"274_newspaper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f0.png"},{"unicode":"🗞️","code":"newspaper-rolled","id":"275_newspaper-rolled","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5de.png"},{"unicode":"💴","code":"money-rolled","id":"276_money-rolled","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4b4.png"},{"unicode":"💲","code":"dollar-sign","id":"277_dollar-sign","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4b2.png"},{"unicode":"✉️","code":"email","id":"278_email","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2709.png"},{"unicode":"✏️","code":"pencil","id":"279_pencil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270f.png"},{"unicode":"✒️","code":"pen","id":"280_pen","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2712.png"},{"unicode":"📝","code":"note-pencil","id":"281_note-pencil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4dd.png"},{"unicode":"💼","code":"briefcase","id":"282_briefcase","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4bc.png"},{"unicode":"🗓️","code":"calendar","id":"283_calendar","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5d3.png"},{"unicode":"📌","code":"pin","id":"284_pin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cc.png"},{"unicode":"📍","code":"pin2","id":"285_pin2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cd.png"},{"unicode":"📎","code":"paperclip","id":"286_paperclip","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ce.png"},{"unicode":"📏","code":"ruler","id":"287_ruler","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cf.png"},{"unicode":"📐","code":"ruler2","id":"288_ruler2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4d0.png"},{"unicode":"✂️","code":"cutting","id":"289_cutting","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2702.png"},{"unicode":"🗑️","code":"wastebasket","id":"290_wastebasket","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5d1.png"},{"unicode":"🔑","code":"key","id":"291_key","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f511.png"},{"unicode":"🗝️","code":"key-old","id":"292_key-old","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5dd.png"},{"unicode":"🔨","code":"hammer","id":"293_hammer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f528.png"},{"unicode":"⛏️","code":"pickaxe","id":"294_pickaxe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26cf.png"},{"unicode":"⚒️","code":"hammer2","id":"295_hammer2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2692.png"},{"unicode":"🛠️","code":"hammer-wrench","id":"296_hammer-wrench","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6e0.png"},{"unicode":"🗡️","code":"knife","id":"297_knife","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5e1.png"},{"unicode":"⚔️","code":"swords","id":"298_swords","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2694.png"},{"unicode":"🔫","code":"gun-tool","id":"299_gun-tool","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52b.png"},{"unicode":"🏹","code":"archer","id":"300_archer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f9.png"},{"unicode":"🛡️","code":"shield","id":"301_shield","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6e1.png"},{"unicode":"🔧","code":"spanner","id":"302_spanner","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f527.png"},{"unicode":"🔩","code":"bolt","id":"303_bolt","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f529.png"},{"unicode":"⚙️","code":"cog","id":"304_cog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2699.png"},{"unicode":"⚖️","code":"balance","id":"305_balance","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2696.png"},{"unicode":"🔗","code":"link","id":"306_link","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f517.png"},{"unicode":"🧲","code":"magnetic","id":"307_magnetic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f2.png"},{"unicode":"⚗️","code":"chemistry","id":"308_chemistry","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2697.png"},{"unicode":"🧪","code":"chemist","id":"309_chemist","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ea.png"},{"unicode":"🧬","code":"gene","id":"310_gene","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ec.png"},{"unicode":"🔬","code":"microscope","id":"311_microscope","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52c.png"},{"unicode":"🔭","code":"telescope","id":"312_telescope","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52d.png"},{"unicode":"📡","code":"antenna-dish","id":"313_antenna-dish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e1.png"},{"unicode":"💉","code":"medicine","id":"314_medicine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f489.png"},{"unicode":"💊","code":"medicine","id":"315_medicine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48a.png"},{"unicode":"🚪","code":"door","id":"316_door","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6aa.png"},{"unicode":"🛏️","code":"hotel-bed","id":"317_hotel-bed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6cf.png"},{"unicode":"🚽","code":"toilet","id":"318_toilet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6bd.png"},{"unicode":"🚿","code":"shower","id":"319_shower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6bf.png"},{"unicode":"🛁","code":"bath","id":"320_bath","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6c1.png"},{"unicode":"🧴","code":"lotion","id":"321_lotion","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f4.png"},{"unicode":"🧷","code":"diaper","id":"322_diaper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f7.png"},{"unicode":"🧹","code":"sweeping","id":"323_sweeping","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f9.png"},{"unicode":"🧺","code":"farming","id":"324_farming","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9fa.png"},{"unicode":"🧻","code":"toilet paper","id":"325_toilet paper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9fb.png"},{"unicode":"🧯","code":"extinguisher","id":"326_extinguisher","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ef.png"},{"unicode":"🛒","code":"shopping-cart","id":"327_shopping-cart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6d2.png"},{"unicode":"🚬","code":"smoking","id":"328_smoking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6ac.png"},{"unicode":"✔️","code":"check","id":"329_check","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2714.png"},{"unicode":"⚰️","code":"death","id":"330_death","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26b0.png"},{"unicode":"🗿","code":"statue-face","id":"331_statue-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5ff.png"},{"unicode":"🐵","code":"monkey-face","id":"332_monkey-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f435.png"},{"unicode":"🐒","code":"monkey","id":"333_monkey","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f412.png"},{"unicode":"🦍","code":"gorilla","id":"334_gorilla","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98d.png"},{"unicode":"🐶","code":"dog-face","id":"335_dog-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f436.png"},{"unicode":"🐩","code":"dog","id":"336_dog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f429.png"},{"unicode":"🐺","code":"face","id":"337_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43a.png"},{"unicode":"🦊","code":"face","id":"338_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98a.png"},{"unicode":"🦝","code":"curious","id":"339_curious","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99d.png"},{"unicode":"🐱","code":"cat","id":"340_cat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f431.png"},{"unicode":"🦁","code":"lion-face","id":"341_lion-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f981.png"},{"unicode":"🐯","code":"tiger-face","id":"342_tiger-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42f.png"},{"unicode":"🐅","code":"tiger","id":"343_tiger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f405.png"},{"unicode":"🐆","code":"leopard","id":"344_leopard","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f406.png"},{"unicode":"🐴","code":"horse-face","id":"345_horse-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f434.png"},{"unicode":"🐎","code":"racehorse","id":"346_racehorse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40e.png"},{"unicode":"🦄","code":"unicorn-face","id":"347_unicorn-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f984.png"},{"unicode":"🦓","code":"zebra","id":"348_zebra","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f993.png"},{"unicode":"🦌","code":"deer","id":"349_deer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98c.png"},{"unicode":"🐮","code":"cow","id":"350_cow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42e.png"},{"unicode":"🐂","code":"bull","id":"351_bull","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f402.png"},{"unicode":"🐃","code":"buffalo","id":"352_buffalo","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f403.png"},{"unicode":"🐄","code":"cow","id":"353_cow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f404.png"},{"unicode":"🐷","code":"pig-face","id":"354_pig-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f437.png"},{"unicode":"🐖","code":"sow","id":"355_sow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f416.png"},{"unicode":"🐗","code":"pig","id":"356_pig","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f417.png"},{"unicode":"🐽","code":"pig-nose","id":"357_pig-nose","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43d.png"},{"unicode":"🐏","code":"aries","id":"358_aries","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40f.png"},{"unicode":"🐑","code":"sheep","id":"359_sheep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f411.png"},{"unicode":"🐐","code":"capricorn","id":"360_capricorn","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f410.png"},{"unicode":"🐪","code":"dromedary","id":"361_dromedary","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42a.png"},{"unicode":"🐫","code":"camel","id":"362_camel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42b.png"},{"unicode":"🦙","code":"alpaca","id":"363_alpaca","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f999.png"},{"unicode":"🦒","code":"spots","id":"364_spots","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f992.png"},{"unicode":"🐘","code":"elephant","id":"365_elephant","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f418.png"},{"unicode":"🦏","code":"rhinoceros","id":"366_rhinoceros","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98f.png"},{"unicode":"🦛","code":"hippo","id":"367_hippo","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99b.png"},{"unicode":"🐭","code":"mouse-face","id":"368_mouse-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42d.png"},{"unicode":"🐁","code":"mouse","id":"369_mouse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f401.png"},{"unicode":"🐀","code":"rat","id":"370_rat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f400.png"},{"unicode":"🐹","code":"pet-face","id":"371_pet-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f439.png"},{"unicode":"🐰","code":"bunny-face","id":"372_bunny-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f430.png"},{"unicode":"🐇","code":"bunny","id":"373_bunny","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f407.png"},{"unicode":"🐿️","code":"squirrel","id":"374_squirrel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43f.png"},{"unicode":"🦔","code":"spiny","id":"375_spiny","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f994.png"},{"unicode":"🦇","code":"vampire","id":"376_vampire","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f987.png"},{"unicode":"🐻","code":"face","id":"377_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43b.png"},{"unicode":"🐨","code":"bear","id":"378_bear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f428.png"},{"unicode":"🐼","code":"panda-face","id":"379_panda-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43c.png"},{"unicode":"🦘","code":"marsupial","id":"380_marsupial","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f998.png"},{"unicode":"🦡","code":"honey badger","id":"381_honey badger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a1.png"},{"unicode":"🐾","code":"paw","id":"382_paw","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43e.png"},{"unicode":"🦃","code":"bird","id":"383_bird","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f983.png"},{"unicode":"🐔","code":"chicken","id":"384_chicken","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f414.png"},{"unicode":"🐓","code":"rooster","id":"385_rooster","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f413.png"},{"unicode":"🐣","code":"baby-bird","id":"386_baby-bird","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f423.png"},{"unicode":"🐤","code":"baby-chick","id":"387_baby-chick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f424.png"},{"unicode":"🐥","code":"baby-chick2","id":"388_baby-chick2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f425.png"},{"unicode":"🐧","code":"penguin","id":"389_penguin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f427.png"},{"unicode":"🕊️","code":"bird-fly","id":"390_bird-fly","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f54a.png"},{"unicode":"🦅","code":"eagle","id":"391_eagle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f985.png"},{"unicode":"🦆","code":"duck","id":"392_duck","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f986.png"},{"unicode":"🦢","code":"swan","id":"393_swan","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a2.png"},{"unicode":"🦉","code":"owl","id":"394_owl","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f989.png"},{"unicode":"🦚","code":"peahen","id":"395_peahen","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99a.png"},{"unicode":"🦜","code":"macaw","id":"396_macaw","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99c.png"},{"unicode":"🐸","code":"frog-face","id":"397_frog-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f438.png"},{"unicode":"🐊","code":"crocodile","id":"398_crocodile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40a.png"},{"unicode":"🐢","code":"turtle","id":"399_turtle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f422.png"},{"unicode":"🦎","code":"reptile","id":"400_reptile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98e.png"},{"unicode":"🐍","code":"snake","id":"401_snake","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40d.png"},{"unicode":"🐲","code":"dragon-face","id":"402_dragon-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f432.png"},{"unicode":"🐉","code":"dragon","id":"403_dragon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f409.png"},{"unicode":"🦕","code":"brontosaurus","id":"404_brontosaurus","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f995.png"},{"unicode":"🦖","code":"t-rex","id":"405_t-rex","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f996.png"},{"unicode":"🐳","code":"whale","id":"406_whale","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f433.png"},{"unicode":"🐋","code":"whale2","id":"407_whale2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40b.png"},{"unicode":"🐬","code":"flipper","id":"408_flipper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42c.png"},{"unicode":"🐠","code":"tropical-fish","id":"409_tropical-fish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f420.png"},{"unicode":"🐡","code":"fish","id":"410_fish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f421.png"},{"unicode":"🦈","code":"shark","id":"411_shark","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f988.png"},{"unicode":"🐙","code":"octopus","id":"412_octopus","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f419.png"},{"unicode":"🐚","code":"shell","id":"413_shell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41a.png"},{"unicode":"🐌","code":"snail","id":"414_snail","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40c.png"},{"unicode":"🦋","code":"butterfly","id":"415_butterfly","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98b.png"},{"unicode":"🐛","code":"insect","id":"416_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41b.png"},{"unicode":"🐜","code":"insect","id":"417_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41c.png"},{"unicode":"🐝","code":"bee","id":"418_bee","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41d.png"},{"unicode":"🐞","code":"ladybug","id":"419_ladybug","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41e.png"},{"unicode":"🦗","code":"grasshopper","id":"420_grasshopper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f997.png"},{"unicode":"🕷️","code":"insect","id":"421_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f577.png"},{"unicode":"🕸️","code":"spider-web","id":"422_spider-web","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f578.png"},{"unicode":"🦂","code":"scorpio","id":"423_scorpio","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f982.png"},{"unicode":"🦟","code":"mosquito","id":"424_mosquito","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99f.png"},{"unicode":"🦠","code":"amoeba","id":"425_amoeba","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a0.png"},{"unicode":"💐","code":"flower","id":"426_flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f490.png"},{"unicode":"🌸","code":"blossom","id":"427_blossom","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f338.png"},{"unicode":"🌹","code":"flower","id":"428_flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f339.png"},{"unicode":"🥀","code":"flower-wilted","id":"429_flower-wilted","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f940.png"},{"unicode":"🌺","code":"flower2","id":"430_flower2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33a.png"},{"unicode":"🌻","code":"sun-flower","id":"431_sun-flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33b.png"},{"unicode":"🌼","code":"flower3","id":"432_flower3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33c.png"},{"unicode":"🌷","code":"flower4","id":"433_flower4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f337.png"},{"unicode":"🌱","code":"young-tree","id":"434_young-tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f331.png"},{"unicode":"🌲","code":"tree","id":"435_tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f332.png"},{"unicode":"🌳","code":"big-tree","id":"436_big-tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f333.png"},{"unicode":"🌵","code":"plant","id":"437_plant","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f335.png"},{"unicode":"🌿","code":"leaf","id":"438_leaf","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33f.png"},{"unicode":"☘️","code":"three-leaf clover","id":"439_three-leaf clover","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2618.png"},{"unicode":"🍀","code":"four-leaf clover","id":"440_four-leaf clover","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f340.png"},{"unicode":"🍁","code":"falling-leaf","id":"441_falling-leaf","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f341.png"},{"unicode":"🏁","code":"checkered","id":"442_checkered","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3c1.png"},{"unicode":"🚩","code":"post","id":"443_post","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6a9.png"},{"unicode":"🎌","code":"japanese-celebration","id":"444_japanese-celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f38c.png"},{"unicode":"🏴","code":"flag-black","id":"445_flag-black","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f4.png"},{"unicode":"🏳️","code":"flag-white","id":"446_flag-white","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f3.png"},{"unicode":"🏳️‍🌈","code":"flag-pride","id":"447_flag-pride","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f3-fe0f-200d-1f308.png"},{"unicode":"🏴‍☠️","code":"flag-pirate","id":"448_flag-pirate","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f4-200d-2620-fe0f.png"},{"unicode":"🇦🇷","code":"AR","id":"449_AR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e6-1f1f7.png"},{"unicode":"🇦🇺","code":"AU","id":"450_AU","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e6-1f1fa.png"},{"unicode":"🇧🇬","code":"BG","id":"451_BG","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e7-1f1ec.png"},{"unicode":"🇧🇷","code":"BR","id":"452_BR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e7-1f1f7.png"},{"unicode":"🇨🇦","code":"CA","id":"453_CA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1e6.png"},{"unicode":"🇨🇳","code":"CN","id":"454_CN","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1f3.png"},{"unicode":"🇨🇿","code":"CZ","id":"455_CZ","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1ff.png"},{"unicode":"🇩🇪","code":"DE","id":"456_DE","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1ea.png"},{"unicode":"🇩🇰","code":"DK","id":"457_DK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f0.png"},{"unicode":"🇩🇲","code":"DM","id":"458_DM","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f2.png"},{"unicode":"🇩🇴","code":"DO","id":"459_DO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f4.png"},{"unicode":"🇩🇿","code":"DZ","id":"460_DZ","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1ff.png"},{"unicode":"🇪🇦","code":"EA","id":"461_EA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1e6.png"},{"unicode":"🇪🇨","code":"EC","id":"462_EC","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1e8.png"},{"unicode":"🇪🇸","code":"ES","id":"463_ES","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1f8.png"},{"unicode":"🇫🇮","code":"FI","id":"464_FI","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1eb-1f1ee.png"},{"unicode":"🇫🇷","code":"FR","id":"465_FR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1eb-1f1f7.png"},{"unicode":"🇬🇧","code":"GB","id":"466_GB","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ec-1f1e7.png"},{"unicode":"🇭🇰","code":"HK","id":"467_HK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ed-1f1f0.png"},{"unicode":"🇮🇱","code":"IL","id":"468_IL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ee-1f1f1.png"},{"unicode":"🇮🇹","code":"IT","id":"469_IT","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ee-1f1f9.png"},{"unicode":"🇯🇵","code":"JA","id":"470_JA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ef-1f1f5.png"},{"unicode":"🇰🇵","code":"KP","id":"471_KP","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f0-1f1f5.png"},{"unicode":"🇰🇷","code":"KR","id":"472_KR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f0-1f1f7.png"},{"unicode":"🇳🇱","code":"NL","id":"473_NL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f3-1f1f1.png"},{"unicode":"🇳🇴","code":"NO","id":"474_NO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f3-1f1f4.png"},{"unicode":"🇵🇱","code":"PL","id":"475_PL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f5-1f1f1.png"},{"unicode":"🇵🇹","code":"PT","id":"476_PT","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f5-1f1f9.png"},{"unicode":"🇷🇴","code":"RO","id":"477_RO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f7-1f1f4.png"},{"unicode":"🇷🇺","code":"RU","id":"478_RU","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f7-1f1fa.png"},{"unicode":"🇸🇰","code":"SK","id":"479_SK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f8-1f1f0.png"},{"unicode":"🇸🇻","code":"SV","id":"480_SV","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f8-1f1fb.png"},{"unicode":"🇹🇭","code":"TH","id":"481_TH","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f9-1f1ed.png"},{"unicode":"🇹🇷","code":"TR","id":"482_TR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f9-1f1f7.png"},{"unicode":"🇻🇮","code":"VI","id":"483_VI","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1fb-1f1ee.png"}]',uh="data:image/png;base64,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",fh="data:image/png;base64,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",ph="data:image/png;base64,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",hh="data:image/png;base64,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",_h="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",mh="data:image/png;base64,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",gh,vh,bh,yh;function wh(){var e=0;try{e=O.global_font_offset.values[ES("global_font_offset",O.global_font_offset.defaultValue)-1]}catch(a){e=0}var a,t,e=29+e,i=window.innerHeight,o=window.innerWidth;1.7777777777777777<=o/i?(vh=(a=i)/1080,t=Math.ceil(1920*vh),document.body.style.marginTop=0,document.body.style.marginLeft=Math.ceil((o-t)/2)+"px"):(vh=(t=o)/1920,a=Math.ceil(1080*vh),document.body.style.marginTop=Math.ceil((i-a)/2)+"px",document.body.style.marginLeft=0),bh=a,yh=t,gh=e*vh,document.body.style.width=yh+"px",document.body.style.height=bh+"px",document.body.style.fontSize=gh+"px",vg(),(o=m("settings_scroll"))&&(o.style.fontSize=.0267*bh+"px"),d("vh_class",".side_panel_fix{font-size: "+.0265*bh+"px;}.stream_thumbnail_feed_text_holder{font-size: "+.0255*bh+"px;}.stream_thumbnail_game_feed_text_holder{font-size: "+.023*bh+"px;}.icon_feed_refresh{font-size: "+.018*bh+"px;}.side_panel_dialog{margin-top: "+.5*bh+"px;}")}function xh(){_||wh()}window.addEventListener("resize",xh,!1);var Ah=83,Sh=80,kh=178,jh=179,Ch=37,Ih=38,Ph=39,Mh=40,Vh=13,Oh=34,Th=33,Dh=113,Bh=8,Eh=13,Nh=32,Lh=176,qh=177,zh=228,Gh=227,Rh=48,Fh=49,Uh=50,Hh=51,Jh=52,Qh=53,Xh=54,Yh=55,Kh=56,Wh=57,Zh=96,$h=97,e_=98,a_=99,t_=100,i_=101,o_=102,n_=103,s_=104,l_=105,d_=65,r_=67,c_=69,u_=84,f_=85,p_={VersionBase:"3.0",publishVersionCode:363,ApkUrl:"https://github.com/fgl27/SmartTwitchTV/releases/download/363/SmartTV_twitch_3_0_363.apk",WebVersion:"July 2024",WebTag:679,changelog:[{title:"Version March to July 2024 Apk Version 3.0.363",changes:["Add a red icon when the channel is live for the User channel and channel search screen","Improve User live side panel loading","Improve User channel screen loading","Player: Migrate from Exoplayer to Media3, the Exoplayer changed its name to Media3 and stop received updates on the old project, if anyone has any issue regarding playback please open a GitHub issue or send an email","Change Featured to Front Page (name change only)","Add User Videos section","Improve channel search results order, Twitch provides no order on the result, do a local ordering to show a more constant result","Add search Live","Add Search Videos","Show all counters on all game screens",'Fix sometimes opening the wrong VOD for "Open the Last VOD" (the one of the options that show when a live end)',"Fix preview animated image not always showing","Fix VOD seek preview image not always showing","Improve exiting a search or search content as Channel content you enter after a search, before the app sometimes exit a search on the wrong section","Improve app exit functionality","Improve disable mature content with a password, now after enabling mature the old pass will be deleted, add a new one if disable again","General app text improves, this is an open source app anyone that wanna improve app text or add translations can the process is simple","Other General improvements"]}]},h_=!1,__=!1,m_=!1,g_="",v_=["chat:edit","chat:read","user:read:follows","user:read:subscriptions","user_follows_edit","user_read"],b_;function y_(){var e,a=[[Gx,JS+H_]];_?(e=(e=Oj(W_,aR,null,null,0,JSON.stringify(a)))&&JSON.parse(e))&&w_(e):WS(W_,a,w_,V,0,0,null,null)}function w_(e){var a;200===e.status?(mA(),a=JSON.parse(e.responseText),window.setTimeout(function(){x_()},1e3*(parseInt(a.expires_in)-60))):(x_(0,mA,mA,0,!0),lj(e.status,e.responseText))}function x_(e,a,t,i,o){var n=K_+"client_id="+U_+"&client_secret="+J_+"&grant_type=client_credentials";_&&o?S_(e,a,t,i,JSON.parse(Oj(n,aR,"POST",null,0,null))):_?Vj(n,aR,null,"POST",null,"AddCode_AppTokenResult",e,i,a?a.name:null,t?t.name:null):((o=new XMLHttpRequest).open("POST",n,!0),o.timeout=aR,o.onreadystatechange=function(){4===this.readyState&&S_(e,a,t,i,this)},o.send(null))}function A_(e,a,t,i,o){S_(o,eval(t),eval(i),a,JSON.parse(e))}function S_(e,a,t,i,o){200===o.status?j_(o.responseText,e,a,i):k_(t,i)}function k_(e,a){e&&e(a)}function j_(e,a,t,i){(e=JSON.parse(e))&&(H_=e.access_token),Zj(),r.AddCode_main_token=H_,YS(),t&&t(i),u4()}function C_(e){var a=[[XS,Q_],[QS,JS+v[e].access_token]];WS(W_,a,I_,V,e,0,null,null)}function I_(e,a){200!==e.status&&(Dm(a,!0),a||Tm(a),u4(),A(function(){RA(Cp,5e3)},3500))}function P_(){h_=!1,WS(zx+"channels/followed?user_id="+v[0].id+"&broadcaster_id="+g_,Im()?Ex:Dx,M_,V,0,0,"GET",null)}function M_(e){(200===e.status&&(e=JSON.parse(e.responseText))&&e.data.length?V_:O_)()}function V_(){h_=!0,T_()}function O_(){h_=!1,T_()}function T_(){(m_?qT:b0)()}var D_='{"operationName":"FollowButton_FollowUser","variables":{"input":{"disableNotifications":true,"targetID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"800e7346bdf7e5278a3c1d3f21b2b56e2639928f86815677a7126b093b2fdd08"}}}';function B_(){var e=[[XS,Q_],[QS,Rx+v[0].access_token]];WS(iC,e,E_,V,0,0,"POST",D_.replace("%x",g_))}function E_(e){var a;200===e.status?(a=JSON.parse(e.responseText).data,h_=Boolean(a.followUser)):401!==e.status&&403!==e.status||C_(0),m_?(qT(),jb(e.responseText,0)):b0()}var N_='{"operationName":"FollowButton_UnfollowUser","variables":{"input":{"targetID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"f7dae976ebf41c755ae2d758546bfd176b4eeb856656098bb40e0a672ca0d880"}}} ';function L_(){var e=[[XS,Q_],[QS,Rx+v[0].access_token]];WS(iC,e,q_,V,0,0,"POST",N_.replace("%x",g_))}function q_(e){var a;200===e.status?(a=JSON.parse(e.responseText).data,h_=!Boolean(a.unfollowUser)):401!==e.status&&403!==e.status||C_(0),m_?(qT(),qv[0].follows=!1):b0()}function z_(){__=!1,WS(qx+"users/"+v[0].id+"/subscriptions/"+g_+Ux,HS(3,Rx+v[0].access_token),G_,V,0,0,"GET",null)}function G_(e){(200===e.status?(__=!0,UE):401===e.status||403===e.status?(C_(0),UE):R_)()}function R_(){__=!1,FE()}var F_="https://fgl27.github.io/SmartTwitchTV/release/index.html",U_="Y2N6anV6ZXNwMGR4eDMxbGRxd3ViMjdqcTRjMjM3",H_,J_="bmFsejdnYmxhc3l3bzY2cGN5d2lnNzdyNmc5aG9u",Q_="dWU2NjY2cW85ODN0c3g2c28xdDB2bmF3aTIzM3dh",X_="a2QxdW5iNGIzcTR0NThmd2xwY2J6Y2JubTc2YThmcA==",Y_="https://id.twitch.tv/oauth2/",K_=Y_+"token?",W_=Y_+"validate",Z_=["6so1t0vna","w33bmnvni9xmhg6g","wi233wa","jwipybtq9ek7uo","ue6666qo983tsx","uth","OA","ization","Author","","","","Clie","nt-ID","pjt793xpsuwib","ae86nu88c4xp7r9vo","kd1unb4b3q4t","m76a8fp","58fwlpcbzcbn","gh5tcudjqtm9","5seja5ptej058mxqy7","",""],b_=!0,U_=Z_[20]+Z_[19],J_=Z_[3]+Z_[1],H_=Z_[15]+Z_[14],Q_=Z_[4]+Z_[0]+Z_[2],X_=Z_[16]+Z_[18]+Z_[17],$_=[[Z_[12]+Z_[13],X_]],em=JSON.stringify($_),am,v=[],tm=null;function im(){r.Main_Go=W2,$R(Ge),FA(),OA(),l("add_user_scroll"),t("add_user_text_holder"),lm()}function om(){0'+e.verification_uri+"":zp+nh(e.verification_uri)+"",um=e.device_code,d("add_user_text",Ap.replace("%site",t).replace("%code",a)),l("add_user_text_holder"),TA(),_m(fm)):hm():nm()}function hm(){TA(),RA(jp,7500,!0),A(function(){nm()},3e3)}function _m(e){qm()?e?(c("add_user_text_counter",Sp.replace("%d",e)),rm=A(function(){_m(e-1)},1e3,rm)):(c("add_user_text_counter",kp),mm()):nm()}function mm(){qm()?(cm=null,WS(K_+"grant_type="+encodeURIComponent("urn:ietf:params:oauth:grant-type:device_code")+"&client_id="+Q_+"&device_code="+um,null,gm,hm,0,0,"POST",null)):nm()}function gm(e){var a;qm()?200===e.status?(a=JSON.parse(e.responseText),cm=a.access_token,vm()):400===e.status&&y((a=JSON.parse(e.responseText)).message,"authorization_pending")?_m(fm):hm():nm()}function vm(){qm()?WS(zx+"users",[[XS,Q_],[QS,JS+cm]],bm,V,0,0,null,null):nm()}function bm(e){qm()?200===e.status?Om(e.responseText):hm():nm()}function ym(){!V2&&_&&Wj()}function wm(e){o(am),ym(),e&&w("keydown",sm)}function xm(){if(v=LS("AddUser_UsernameArrayNew",[]),Array.isArray(v)&&0"),gY(a),9<(e=a.length)?e-9:0);zQ.style.width="calc("+t+"% + "+e+"ch)",(a=zQ.offsetWidth-qQ.offsetWidth)?nY()||(zQ.style.transform="translateX(-"+(a/gh+hX)+"em)"):(a=document.body.offsetWidth,zQ.style.transform="translateX(-"+((a=a/100*(t+e)-a/100*5)/gh-.05)+"em)"),T("app_animations")&&CS(function(){zQ.style.transition=""})}function Cm(){return 0Math.abs(a)?(e<0?Pg:Ig)():Sg(0Math.abs(a)?QK(0'+f+f+Ya:''+f+f+(Cm()?Ka:at))}function y0(){d("channel_content_thumbdiv0_1",'"),d("channel_content_img0_1",'");var e,a=r.Main_selectedChannelDisplayname,a=(d("channel_content_infodiv0_1",(a+=r.Main_selectedChannelPartner?f+f+'':"")+(""!==Jg?u+a4(Jg)+i4(Jg):"")+(""!==Qg?u+a4(Qg)+(1===Qg?ct:rt):"")+(""!==Xg?u+u+R+":"+u+cee.parse(Xg):"")),!Hg||_F(Hg[0]));Hg&&a?(e=Hg[0],void 0!==Mg&&(e.user_name=e.user_name+He+r.Main_selectedChannelDisplayname),w0(aF(e)),Ng=1):x0(a),A0()}function w0(e){var a=void 0!==Mg;Og=e,d("channel_content_thumbdiv0_0",'
'+e[1]+'
'+(a?"":e[5])+'
'+cee.parse(e[2])+'
'+(""!==e[3]?ee+e[3]:"")+'
'+ie+e[11]+""+f+ae+e[4]+"
")}function x0(e){Gg=!0,Dg=e,e='
'+Uo+'
'+Wr+"
",d("channel_content_thumbdiv0_0",'
'+r.Main_selectedChannelDisplayname+'
'+(Dg?e:ap)+"
")}function A0(){Fg||(Fg=!0,l("channel_content_scroll"),Eg=1,k0(),TA(),u4()),S0(),Px=!1,Ix&&cq()}function S0(){(Cm()?(g_=r.Main_selectedChannel_id,m_=!1,P_):(h_=!1,b0))()}function k0(){(Eg?(h("channel_content_thumbdiv0_0",Hx),L0(),Q0):j0)()}function j0(){h("channel_content_thumbdivy_"+Ng,"stream_switch_focused")}function C0(){Eg?(z0(),n("channel_content_thumbdiv0_0",Hx),n(X2+a0[0],"opacity_zero")):n("channel_content_thumbdivy_"+Ng,"stream_switch_focused")}function I0(){n("channel_content_thumbdivy_0","stream_switch_focused"),n("channel_content_thumbdivy_1","stream_switch_focused"),n("channel_content_thumbdivy_2","stream_switch_focused")}function P0(){Dg?Eg?(x("keydown",E0),t("channel_content_scroll"),Gg?(V5(Wg||null),k.data=[null,r.Main_selectedChannelDisplayname,f,"","","",r.Main_selectedChannel,"",!1,r.Main_selectedChannelLogo,r.Main_selectedChannelPartner,"",0,0,r.Main_selectedChannel_id],r.Play_isHost=k.isHost=!1,fS(),w("keydown",eM),hS(),WD(),iT(!0),dj("offline",r.Main_selectedChannelDisplayname,"offline","offline","ChannelContent")):Og&&(s=bk(Og),k.data=s,r.Play_isHost=y(k.data[1],He),r.Play_isHost?(k.DisplayNameHost=k.data[1],k.data[1]=k.DisplayNameHost.split(He)[0],k.data[14]=Mg):k.data[14]=r.Main_selectedChannel_id,yS(),dj("live",s[6],s[3],s[15],"ChannelContent"))):Ng?1===Ng?(x("keydown",E0),t("channel_content_scroll"),C0(),CS(function(){qL(K2)})):2===Ng&&(Im()?(m_=!1,g_=r.Main_selectedChannel_id,(h_?L_:B_)()):RA(tt,2e3)):(x("keydown",E0),t("channel_content_scroll"),C0(),CS(function(){qL(Y2)})):RA(ap,2e3)}function M0(){Yg={"Main_values.Main_selectedChannel_id":r.Main_selectedChannel_id,"Main_values.Main_selectedChannelLogo":r.Main_selectedChannelLogo,"Main_values.Main_selectedChannel":r.Main_selectedChannel,"Main_values.Main_selectedChannelDisplayname":r.Main_selectedChannelDisplayname,ChannelContent_UserChannels:Rg,"Main_values.Main_BeforeChannel":r.Main_BeforeChannel}}function V0(){r.Main_selectedChannel_id=r.Main_selectedChannel_id,r.Main_selectedChannelLogo=r.Main_selectedChannelLogo,r.Main_selectedChannel=r.Main_selectedChannel,r.Main_selectedChannelDisplayname=r.Main_selectedChannelDisplayname,Rg=Yg.ChannelContent_UserChannels,r.Main_BeforeChannel=r.Main_BeforeChannel,Kg=!(Yg={})}function O0(e){e.keyCode===Vh&&(T0(),$g||P0())}function T0(){o(Vg),x("keyup",O0),w("keydown",E0)}function D0(){Eg=Eg?(C0(),0):(C0(),1),k0()}function B0(){(e4()?$A:QA()?JA:(C0(),x("keydown",E0),r.Main_Go=r.Main_BeforeChannel,r.Main_BeforeChannel=B2,i0(),mY(),r.Main_selectedChannel_id="",l4))()}function E0(e){if(!Px&&!oS())switch(iS(),e.keyCode){case Bh:case Dh:B0();break;case Ch:!Eg&&Ng?(C0(),--Ng<0&&(Ng=2),k0()):(C0(),WX(E0));break;case Ph:Eg||(C0(),2<++Ng&&(Ng=0),k0());break;case Ih:case Mh:D0();break;case Ah:case Xh:C0(),XA();break;case Sh:case jh:case Nh:P0();break;case Vh:x("keydown",E0),w("keyup",O0),$g=!1,Vg=A(N0,PL,Vg);break;case Uh:N0();break;case Hh:C0(),WX(E0,Cm()),Cm()||RA(Li,2e3)}}function N0(){C0(),BS()}function L0(){var e;Tk||Gg||!T("show_live_player")||!cS()||kX()||nY()||sH()||Og&&(e=bk(Og),gT&&wk(e[14].toString(),gT.toString())||wT?gT&&q0():G0(e),wT=!1)}function q0(){var e=m(X2+a0[0]),a=e.parentElement.getBoundingClientRect();X3(a.bottom,a.right,a.left,window.innerHeight,4),_&&jA(e,"opacity_zero")}function z0(e){o(p0),_&&gT&&!e&&(K3(),kT())}function G0(e){p0=A(function(){R0(e)},eR+RU[T("show_feed_player_delay")],p0)}function R0(e){kT(),_&&R6(!0,e[6],null,X2,F0)}function F0(e,a){var t;Tk||r.Main_Go!==X2||!cS()||kX()||nY()||sH()||a!==r.Main_Go||!Og||!y(m("channel_content_thumbdiv0_0").className,"stream_thumbnail_focused")||e&&(e=JSON.parse(e),a=bk(Og),200===e.status?(mT=e.url,bT=e.responseText,gT=a[14],t=(a=m(X2+a0[0])).parentElement.getBoundingClientRect(),Q3(mT,bT,0,t.bottom,t.right,t.left,window.innerHeight,1),jA(a,"opacity_zero")):U0(1===e.status||403===e.status?ri:Z+fe,4e3))}function U0(e,a){kT(),n(X2+a0[0],"opacity_zero"),RA(e,a)}function H0(e){return!Gg&&!!Eg&&wk(Og[14].toString(),e.data[14].toString())}function J0(){return m(X2+a0[0])&&r.Main_Go===X2&&Eg&&cS()}function Q0(e){!Tk&&J0()&&Og&&(c(X2+a0[1],ie+CD((new Date).getTime(),Og[12])),h0=A(function(){Q0(e)},1e3,h0))}var X0,Y0,K0,W0,Z0,$0,e1,a1,t1,i1,o1,n1,s1,l1,d1=!1,r1=6,c1=11,u1=parseInt((c1+1)/2),f1=r1,p1=0,h1="";function _1(){L1();var e=0;Y0=e++,K0=e++,W0=e++,Z0=e++,$0=e++,e1=e++,a1=e++,t1=e++,i1=e++,o1=+e,n1=10,s1=11}function m1(){var e=(p1?j:k).data[1];Lv[p1]?qD(fl+e,1500):(x("keydown",eM),w("keydown",I1),(Ax=m("chat_send_input")).placeholder=hl,b1(),l("chat_send"),WD(),wk(h1,e)||(Ax.value=""),h1=e,(""!==Ax.value&&null!==Ax.value?Y1:K1)(),cv.force_show_chat_write.defaultValue&&!p8()&&S[LM].enterKey(1),y1())}function g1(){p1=0,rv(),x("keydown",P1),x("keydown",I1),x("keydown",G1),x("keydown",iv),x("keydown",vv),w("keydown",eM),t("chat_send"),t("chat_emotes_holder"),t("dialog_warning_chat"),t("chat_choose"),t("chat_options"),x1(!1)}function v1(e){e===p1&&(b1(),SA("chat_send"))&&!lv()&&ov()}function b1(){var e="",e=Cy[p1]?((a=Cy[p1]).hasOwnProperty("emote-only")&&a["emote-only"]&&(e+="Emote-only, "),a.hasOwnProperty("rk9")&&a.rk9&&(e+="R9K messages with more than 9 characters must be unique, "),a.hasOwnProperty("slow")&&a.slow&&(e+="Slow"+(a.slow?" wait "+a.slow+" second(s) between sending messages":"")+", "),a.hasOwnProperty("subs-only")&&a["subs-only"]&&(e+="Subscribers-only, "),a.hasOwnProperty("followers-only")&&-1!==a["followers-only"]&&(e+="Followers-only"+(a["followers-only"]?" minimum "+a["followers-only"]+" minute(s) fallowing":"")+", "),e.slice(0,-2)):ms,a=(p1?j:k).data[1];d("chat_state",a+f+_l+u+(""===e?ml:e))}function y1(){lv()?(k1(),x("keydown",I1),Ax.placeholder=hl,X0=A(function(){t7(!0),jA(Ax,"chat_input_class_focus"),Ax.focus(),_&&(1===cv.keyboard_options.defaultValue?e7():2===cv.keyboard_options.defaultValue&&a7()),d1=!0,w("keydown",P1),h("scene_keys","avoidclicks"),h("scenefeed","avoidclicks")},200,X0)):ov()}function w1(){var e;null!==Ax&&(e=Ax.cloneNode(!0),Ax.parentNode.replaceChild(e,Ax),Ax=m("chat_send_input"))}function x1(e){o(X0),!V2&&_&&Wj(),n("scenefeed","avoidclicks"),n("scene_keys","avoidclicks"),t7(!1),CA(Ax,"chat_input_class_focus"),Ax.blur(),w1(),x("keydown",P1),Ax.placeholder=hl,e&&w("keydown",I1),d1=!1}function A1(){o(X0),x1(!0),f1=r1,S1()}function S1(){k1(),h("chat_send_button"+f1,"button_chat_focused")}function k1(){for(var e=0;ea.code?-1:e.code'+i+'
'+i+"
",n}function L1(){Hv=JSON.parse(ch)}function q1(){CS(function(){x("keydown",P1),x("keydown",I1),w("keydown",G1),m("chat_emotes").style.transform="",J1(0),l("chat_emotes_holder"),F1(0)})}function z1(){x("keydown",G1),w("keydown",I1),t("chat_emotes_holder"),U1(O1),S1()}function G1(e){switch(e.keyCode){case Dh:z1();break;case Ch:H1(O1,-1);break;case Ph:H1(O1,1);break;case Ih:O1<20?z1():H1(O1,-20);break;case Mh:H1(O1,20);break;case Vh:(f1===i1||Z1())&&lv()&&R1(O1)}}function R1(e){(e=m("chat_emotes"+T1[e]))&&X1(e.getAttribute(Jx))}function F1(e){h("chat_emotes_img"+T1[e],"chat_emotes_focus"),J1(O1),n("chat_emotes_name"+T1[e],"opacity_zero")}function U1(e){n("chat_emotes_img"+T1[e],"chat_emotes_focus"),h("chat_emotes_name"+T1[e],"opacity_zero")}function H1(e,a){T1[e+a]?(U1(e),F1(O1+=a),Q1(O1)):0'+cee.parse(e.join(" "),!0,!0)+""}function Z1(){var e=Cy[p1];return!(e&&e.hasOwnProperty("emote-only")&&e["emote-only"]&&(j1(Ol,1500),1))}function $1(){x("keydown",eM),w("keydown",iv),c("chat_choose_dialog_text",Tl),c("chat_choose_dialog0",k.data[1]),c("chat_choose_dialog1",j.data[1]),tv=0,l("chat_choose"),ev(0)}function ev(e){h("chat_choose_dialog"+e,"button_dialog_focused"),n("chat_choose_dialog"+(1^e),"button_dialog_focused")}function av(){x("keydown",iv),t("chat_choose")}var tv=0;function iv(e){switch(e.keyCode){case Dh:av(),g1();break;case Ph:case Ch:ev(tv^=1);break;case Vh:av(),p1=tv,m1()}}function ov(){o(X0),SA("chat_emotes_holder")?z1():SA("chat_send")&&(x1(!0),S1())}var nv="",sv=!0;function lv(){sv=!(nv="");var e=(p1?j:k).data[1];if(Lv[p1])return nv=fl+e,sv=!1,dv(),0;if(Cy[p1]){var a=Cy[p1],t=qv[p1],i=(i=zv[p1])&&i.hasOwnProperty("state")&&!i.state;if(a.hasOwnProperty("subs-only")&&a["subs-only"]&&i)return nv="Chat Subscribers-only mode "+Za,sv=!1,dv(),0;if(a.hasOwnProperty("followers-only")&&-1!==a["followers-only"]&&t){if(-1Ib(t.created_at))return i=Ib(t.created_at),nv="Followers-only"+(a["followers-only"]?" minimum "+a["followers-only"]+" minute(s) fallowing":"")+" "+Vl+i+(1"),h(uv[fv=0],"settings_value_focus"),h(uv[0]+"_div","settings_div_focus"),mv(uv[0]),l("chat_options"),w("keydown",vv)}function _v(e,a,t){return'
'+a+'
'+t+'
'+cv[e].values[cv[e].defaultValue]+'
'}function mv(e){var a=cv[e].defaultValue,t=cv[e].values.length-1;0":":>","\\:\\>\\;":":>","[oO](_|\\.)[oO]":"O_O","\\:-?D":":D","\\:-?(o|O)":":O",">\\\\(":">(",":-?(?:7|L)":":7","\\:-?(S|s)":":s","#-?[\\\\/]":"#/","<\\]":"<]","<3":"<3","\\<\\;3":"<3","\\<\\;\\]":"<]","\\>\\;\\(":">(","\\:-?[z|Z|\\|]":":Z"},ib=/emote-only=(\d+).*followers-only=(-1|\d+).*r9k=(\d+).*slow=(\d+).*subs-only=(\d+).*/,ob="https://cdn.betterttv.net/emote/";function nb(e,a){a||rw(e),r.Play_ChatForceDisable?A2():(_||Lw(),Ab(e,(e?j:k).data[14],(e?j:k).data[6]),a||hy(e,b[e]),gy(e,b[e],a),a||(My(e,b[e]),Nb(e,b[e])),cb&&(Hb(e,b[e]),Sb(e,b[e]),Pb(e,b[e])))}function sb(){var e=kw[1].innerHTML,a=(kw[1].innerHTML=kw[0].innerHTML,kw[0].innerHTML=e,m("chat_loggedin0")),t=m("chat_loggedin1"),e=t.innerHTML;t.innerHTML=a.innerHTML,a.innerHTML=e;for(var i=0;i<2;i++)wy(i),nb(i,!0)}var lb,db,rb,cb,ub,fb,pb,hb,_b,mb,gb,vb=[],bb=' style="color: #4eff42;" ',yb=' style="color: #4AA4FD;" ',wb=[],xb=[];function Ab(e,a,t){Qv[e]={},Rw(),Yv[e]=a,Zv[e]=t,Zv[e]&&(Zv[e]=Zv[e].toLowerCase()),cb=Lm(),Sv=O.chat_logging.defaultValue,Vv=O.chat_individual_background.defaultValue,kv=O.highlight_rewards.defaultValue,jv=O.highlight_atstreamer.defaultValue,Cv=O.highlight_streamer.defaultValue,Iv=O.highlight_mod.defaultValue,Pv=cb&&O.highlight_atuser.defaultValue,Mv=cb&&O.highlight_user_send.defaultValue,lb=O.show_actions.defaultValue,db=O.highlight_bits.defaultValue,rb=O.show_sub.defaultValue,ub=O.individual_lines.defaultValue,hb=O.chat_nickcolor.defaultValue,_b=O.chat_timestamp.defaultValue,mb=O.clear_chat.defaultValue,gb=O.chat_bot.defaultValue,vb[e]=0,wb[e]=new RegExp("@"+Zv[e]+"(?=\\s|$)","i"),xb[e]=new RegExp("@"+Zv[e],"gi"),eb=(O.chat_line_animation.defaultValue?"chat_line_animation ":"")+"chat_line_holder",cb&&(fb=new RegExp("@"+v[0].name+"(?=\\s|$)","i"),pb=new RegExp("@"+v[0].name,"gi")),b[e]=(new Date).getTime(),Uw(e,b[e]),ay(e,b[e]),Kb(e,b[e]),oy(e,b[e]),dy(e,b[e])}function Sb(e,a){Lm()&&v[0].access_token&&(qv[e]={},RS(zx+"channels/followed?user_id="+v[0].id+"&broadcaster_id="+Yv[e],kb,Cb,e,a,!0))}function kb(e,a,t){t===b[a]&&jb(e,a)}function jb(e,a){(e=JSON.parse(e))&&e.data.length?qv[a]={created_at:e.data[0].followed_at,follows:!0}:qv[a].follows=!1}function Cb(e,a){a===b[e]&&(qv[e].follows=!1)}function Ib(e){return e=(new Date).getTime()-new Date(e).getTime(),Math.floor(Math.floor(parseInt(e/1e3))/60)}function Pb(e,a){zv[e]={},Lm()&&v[0].access_token&&a===b[e]?RS(zx+"subscriptions/user?broadcaster_id="+Yv[e]+"&user_id="+v[0].id,Mb,Tb,e,a,!0):Tb(e,a)}function Mb(e,a,t){t===b[a]&&(zv[a].state=!0,Vb(a,t))}function Vb(e,a){Uv.ChannelEmotes[Yv[e]]?Qb(Uv.ChannelEmotes[Yv[e]]):(Uv.ChannelEmotes[Yv[e]]={},RS(zx+"chat/emotes?broadcaster_id="+Yv[e],Ob,V,e,a,!0))}function Ob(e,a,t){Xb(e,a,t,Uv.ChannelEmotes[Yv[a]])}function Tb(e,a){a===b[e]&&(zv[e].state=!1)}function Db(e,a){a===b[e]&&(Uv.BadgesChannel[Yv[e]]?Zw(Uv.BadgesChannel[Yv[e]],kw[e]):RS(zx+"chat/badges?broadcaster_id="+Yv[e],Bb,V,e,a,!0))}function Bb(e,a,t){t===b[a]&&(Uv.BadgesChannel[Yv[a]]=Jw(JSON.parse(e),Yv[a],!0,a),Zw(Uv.BadgesChannel[Yv[a]],kw[a]))}function Eb(e){c("chat_loggedin"+e,""),h("chat_loggedin"+e,"hide"),m("chat_box_holder"+e).style.height="",m("chat_container_name"+e).style.top=""}function Nb(e,a){O.show_chatters.defaultValue&&(d("chat_loggedin"+e,"..."+(1===O.show_chatters.defaultValue?gc:Pe)),n("chat_loggedin"+e,"hide"),m("chat_box_holder"+e).style.height="calc(100% - 2.9vh)",e||(m("chat_container_name"+e).style.top="3vh"),Lb(e,a))}function Lb(e,a){(1===O.show_chatters.defaultValue?Fb:zb)(e,a),Kv[e]=Qk(function(){qb(e,a)},3e5,Kv[e])}function qb(e,a){(1===O.show_chatters.defaultValue?Fb:zb)(e,a)}function zb(e,a){RS(zx+"streams/?user_id="+Yv[e],Gb,V,e,a,!0)}function Gb(e,a,t){try{var i,o;t===b[a]&&(i=JSON.parse(e)).data&&i.data.length&&d("chat_loggedin"+a,a4(o=i.data[0].viewer_count)+f+t4(o))}catch(e){Hk("ChatLive_loadChattersSuccess "+e)}}var Rb='{"query":"{channels(ids: \\"%x\\") {chatters(){count}}}"}';function Fb(e,a){WS(iC,QO,Ub,V,e,a,"POST",Rb.replace("%x",Yv[e]))}function Ub(e,a,t){if(200===e.status)try{t===b[a]&&d("chat_loggedin"+a,a4(JSON.parse(e.responseText).data.channels[0].chatters.count)+gc)}catch(e){Hk("ChatLive_loadChattersSuccess "+e)}}function Hb(e,a){Uv.GlobalTwitch?Qb(Uv.GlobalTwitch):(Uv.GlobalTwitch={},RS(zx+"chat/emotes/global",Jb,V,e,a,!0))}function Jb(e,a,t){Xb(e,a,t,Uv.GlobalTwitch)}function Qb(e){for(var a in Jv.hasOwnProperty(v[0].id)||(Jv[v[0].id]={}),e)Jv[v[0].id][a]={code:a,id:e[a].id,"4x":e[a]["4x"],srcset:e[a].srcset}}function Xb(e,a,t,i){var o,n,s;t===b[a]&&(t=JSON.parse(e))&&t.data.length&&(e=t.data,Jv.hasOwnProperty(v[0].id)||(Jv[v[0].id]={}),e.forEach(function(e){e.name&&e.id&&"string"==typeof e.name&&(e.code=tb[e.name]||e.name,Jv[v[0].id].hasOwnProperty(e.code)||(n=e.theme_mode.includes("dark"),o=Yb(e.images,n),n=iee(e.images,n),s=e.code+e.id,Qv[a][e.code]={code:e.code,id:s,chat_div:oee(n,o),"4x":n,srcset:o},i[e.code]={code:e.code,id:s,"4x":n,srcset:o},Jv[v[0].id][e.code]={code:e.code,id:s,"4x":n,srcset:o}))}))}function Yb(e,a){if(!e)return"";var t,i="";for(t in e)i+=(a?e[t].replace("light","dark"):e[t])+" "+t.split("_")[1]+",";return i.length?i.slice(0,-1):i}function Kb(e,a){a===b[e]&&(Uv.bttv[Yv[e]]?iy(Uv.bttv[Yv[e]],e):RS("https://api.betterttv.net/3/cached/users/twitch/"+Yv[e],Wb,V,e,a))}function Wb(e,a,t){t===b[a]&&Zb(JSON.parse(e),a,!1)}function Zb(e,a){Uv.bttv[Yv[a]]={};try{$b(e.channelEmotes,a),$b(e.sharedEmotes,a);for(var t=e.bots.length,i=0;i'+(t?"ChatSend:":"Chat:")+f+e+""})}function Sy(e){o(Bv[e]),o(Dv[e])}function ky(e,a,t){my[a]&&(e=e.hasOwnProperty("params")?JSON.stringify(e.params):"",e=ib.exec(e),ib.lastIndex=0,e&&6===e.length?(o(Bv[a]),Iy(e,a)):t&&(Bv[a]=A(function(){Ov[a].send("JOIN #"+Zv[a])},1e3,Bv[a])))}var jy,Cy=[];function Iy(e,a){Cy[a]={"emote-only":parseInt(e[1]),"followers-only":parseInt(e[2]),rk9:parseInt(e[3]),slow:parseInt(e[4]),"subs-only":parseInt(e[5])},v1(a)}function Py(e,a){e.tags&&(Cy[a]||(Cy[a]={}),(e=e.tags).hasOwnProperty("emote-only")&&(Cy[a]["emote-only"]=parseInt(e["emote-only"])),e.hasOwnProperty("followers-only")&&(Cy[a]["followers-only"]=parseInt(e["followers-only"])),e.hasOwnProperty("rk9")&&(Cy[a].rk9=parseInt(e.rk9)),e.hasOwnProperty("slow")&&(Cy[a].slow=parseInt(e.slow)),e.hasOwnProperty("subs-only")&&(Cy[a]["subs-only"]=parseInt(e["subs-only"])),v1(a))}function My(e,a){a!==b[e]||e||(!Lv[e]&&Lm()&&v[0].access_token?Ty(e,a):By())}var Vy,Oy=!1;function Ty(t,i){(jy=new WebSocket("wss://irc-ws.chat.twitch.tv:443","irc")).onopen=function(){var e=v[0].name.toLowerCase();jy.send("PASS oauth:"+v[0].access_token),jy.send("NICK "+e),jy.send("USER "+e+" 8 * :"+e)},jy.onmessage=function(e){if(e.data){var a=window.parseIRC(e.data.trim());if(a.command)switch(a.command){case"PING":jy.send("PONG "+a.params[0]);break;case"001":y(a.params[1],v[0].name.toLowerCase())&&(Ey(t,i),jy.send("CAP REQ :twitch.tv/tags twitch.tv/commands"));break;case"CAP":Oy=!0,Av=Qk(function(){jy&&1===jy.readyState&&jy.send("PONG tmi.twitch.tv")},3e4,Av);break;case"NOTICE":a.params&&a.params[1]&&y(a.params[1]+"","authentication failed")?(Ay(a.params[1],0,!0),Im()&&C_(0)):Gy(a);break;case"PART":jy&&(Dy(),jy.close(1e3))}}},jy.onclose=function(e){Ay("Websocket closed remotely... "+JSON.stringify(e),0,!0),Ny(t,i,Fv,!(Oy=!1))},jy.onerror=function(e){Ay("Error... "+JSON.stringify(e),0,!0),Ny(t,i,Fv,!(Oy=!1))},Ey(t,i)}function Dy(){jy.onclose=V,jy.onerror=V,jy.onmessage=V,jy.onopen=V}function By(){jy&&(1===jy.readyState&&jy.send("PART "),Dy(),jy.close(1e3)),Oy=!1,Xk(Av)}function Ey(e,a){Vy=A(function(){Ny(e,a,0)},2*Rv,Vy)}function Ny(e,a,t,i){Oy||(By(),Vy=A(function(){i||Ay(el,e,!0),My(e,a)},t||0,Vy))}function Ly(e,a){a===b[e]&&!xO&&O.open_host.defaultValue&&ek(qy,e,a,Zv[e])}function qy(e,a,t){t!==b[a]||xO||200===e.status&&(t=JSON.parse(e.responseText).data).user&&t.user.hosting&&(I?d6(e,1^a,z5=(new Date).getTime()):P8(e,0,o8=(new Date).getTime()))}function zy(e,a,t){var i=e.tags&&e.tags.hasOwnProperty("msg-id");i&&y(e.tags["msg-id"]+"","host_on")?(Ly(a,t),Gy(e)):i&&my[a]&&y(e.tags["msg-id"]+"","msg_banned")?(Ry(e.params&&e.params[1]?e.params[1]:fl+Zv[a],3500),Lv[a]=!0,o(Dv[a]),xy(a,t,0)):e.params&&e.params[1]&&y(e.params[1]+"","authentication failed")?(Ay(e.params[1],a),my[a]&&Im()&&C_(0)):Gy(e)}function Gy(e){e.params[1]&&!y(e.params[1],"NICK already set")&&Ry(e.params[1],3500)}function Ry(e,a){j1("Chat: "+e,a),qD("Chat: "+e,a)}function Fy(e,a){return Oy&&jy&&1===jy.readyState&&(jy.send("PRIVMSG #"+Zv[a]+" :"+e),FO&&(e=Math.ceil((1===FO?nw[a]:FO)/1e3),j1(ru+f+e+(1$&")),o)&&(s=s.replace(o,"$&")),e&&e[1]&&(l||(s=""),s+=e&&e[1]?d+Ky(t,a)+""+(r||!i?Md:i)+": "+Zy(ree(e[1],Wy(t)),a,0):""),Hy(s,a,l),cb)&&o&&n&&(wk(o+"",v[0].id+"")||wk(n.toLowerCase()+"",v[0].name.toLowerCase()+""))&&Ry((r?Md:t["display-name"])+ul,1e4)}function Hy(e,a,t){Xy(a,{chat_number:a,message:''+e+"",sub:t,mod:!t})}function Jy(e){return AD((e=new Date(parseInt(e)+Kx)).getHours())+":"+AD(e.getMinutes())}function Qy(e,a,t){var i,o,n,s,l,d="",r=e.tags,c="",u=!1,f=!1,p=!1,h=!1;if(r&&r.hasOwnProperty("display-name")&&(!gb||!ab[r["display-name"]])&&(y(e=e.params[1],"PRIVMSG")&&(e=e.split("@badge-info=")[0]),!(gb&&e&&e.startsWith("!")&&-1===e.indexOf(" ")))){if(kv&&r.hasOwnProperty("msg-id")&&(r["msg-id"]=r["msg-id"]+"",y(r["msg-id"],"highlighted-message")?(c=" chat_highlighted ",n=Ql):y(r["msg-id"],"skip-subs-mode-message")&&(c=" chat_highlighted ",n=Xl)),_b&&(d+=t&&r.hasOwnProperty("tmi-sent-ts")?Jy(r["tmi-sent-ts"])+" ":MS+" "),d+=Ky(r,a),/^\x01ACTION.*\x01$/.test(e)){if(!lb)return;l=!0,e=e.replace(/^\x01ACTION/,"").replace(/\x01$/,"").trim()}jv&&wb[a].test(e)?u=!0:Cv&&wk(r["display-name"].toLowerCase(),Zv[a])?p=!0:Iv&&r.mod&&"0"!==r.mod?h=!0:(Pv&&fb.test(e)||Mv&&wk(r["display-name"].toLowerCase(),v[0].display_name.toLowerCase()))&&(f=!0),s=r.hasOwnProperty("bits")&&Xv.hasOwnProperty(Yv[a]),i=r["display-name"],Xy(a,{chat_number:a,message:d=(d+=""+i+""+(l?"":":")+" ")+""+Zy(ree(e,Wy(r)),a,s?parseInt(r.bits):0)+"",atstreamer:u,atuser:f,fromstreamer:p,mod:h,hasbits:s&&db,extraMessage:n,addToStart:t})}}function Xy(e,a){!FO||a.addToStart?ew(a):Yy(e,b[e],a)}function Yy(e,a,t){A(function(){a===b[e]&&ew(t)},1===FO?nw[e]:FO)}function Ky(e,a){if(e.hasOwnProperty("badges")&&"string"==typeof e.badges){for(var t,i=e.badges.split(","),o="",n=0,s=i.length;n');return o}return""}function Wy(e){var a,t,i,o,n,s=null;if(e.hasOwnProperty("emotes")&&"string"==typeof e.emotes){e.emotes=e.emotes.split("/");for(var s={},l=0,d=e.emotes.length;l'+e+""}function ew(e){Gv?(aw(e),Ev[e.chat_number]++>Iw&&(Ev[e.chat_number]=0,k2(e.chat_number))):Nv[e.chat_number].push(e)}function aw(e){var a="",t="chat_line",a=(e.atstreamer?(t+=" chat_atstreamer",e.message=e.message.replace(xb[e.chat_number],"$&")):e.fromstreamer?t+=" chat_fromstreamer":e.mod?t+=" chat_mod":e.atuser?(t+=" chat_atuser",e.message=e.message.replace(pb,"$&")):e.hasbits?t+=" chat_bits":e.sub?t+=" chat_sub":Vv&&(vb[e.chat_number]&&(1===Vv?a="background-color: rgba("+(!P&&!xO||jO?"100,100,100,":"0, 0, 0,")+" "+pO+");":2===Vv?a="background-color: rgba(100,100,100, "+pO+")":3===Vv&&(a="background-color: rgba(0,0,0, "+pO+")")),vb[e.chat_number]=1^vb[e.chat_number]),'
'+e.message+"
");(t=document.createElement("div")).innerHTML=a,e.addToStart?(t.className="chat_line_holder",kw[e.chat_number].insertBefore(t,kw[e.chat_number].childNodes[0]),tw(e)):(t.className=MO?eb:"chat_line_holder",tw(e),kw[e.chat_number].appendChild(t))}function tw(e){e.extraMessage&&aw({chat_number:e.chat_number,message:$y(e.extraMessage),skip_addline:1,addToStart:e.addToStart})}function iw(){for(var e,a,t=0;t<2;t++){for(a=Nv[t].length,e=0;e'+Ft+f+r.Main_selectedChannelDisplayname+f+xw+""}),A(function(){s2(b[0])},Vw[r.Main_selectedChannel_id]?0:500),Vw[r.Main_selectedChannel_id]=!0)}var Nw=1;function Lw(){ww=yw=R7?0:bw,TO&&(yw=AO?1===AO?24:26:15),Nw=1,qw(),Gv=!0}function qw(){_w=Qk(function(){if(R7)try{yw=Um.currentTime,n8=yw+Um.buffered.end(0)}catch(e){console.log("Chat_StartFakeClockInterval e "+e)}else if(Wm&&sE)try{var e=Wm.getPlayer().getCurrentTime();if(0'+al+""}),f=bw=0,p=t.length;f',Iv)&&y(c.setID,"mod")&&(d=!0);if(o.fragments)for(h=0,_=o.fragments.length;h<_;h++)(u=o.fragments[h]).emote?r+=oee(tee(u.emote.emoteID)):(r+=Zy([u.text],0,0),!n&&jv&&wb[0].test(u.text)?n=!0:!s&&Pv&&fb.test(u.text)&&(s=!0));Cv&&wk(t[f].commenter.displayName.toLowerCase(),Zv[0])?l=!0:Mv&&wk(t[f].commenter.displayName.toLowerCase(),v[0].display_name.toLowerCase())&&(s=!0),m=n||d||l?bb:s?yb:!hb&&o.userColor?'style="color: '+o.userColor+';"':'style="color: '+Aw[t[f].commenter.displayName.charCodeAt(0)%Sw]+';"',i=(i+=""+t[f].commenter.displayName+u2(t[f].commenter.displayName,t[f].commenter.login)+""+(o.is_action?"":":")+" ")+'"+r+"",m={chat_number:0,time:t[f].contentOffsetSeconds,message:i,atstreamer:n,atuser:s,mod:d,fromstreamer:l,hasbits:!1},g?f2(m):""!==vw&&p2(m)}g&&b[0]===a&&(Pw=!1,h2(a),""!==vw)&&v2(a)}}function u2(e,a){return e&&Dw.test(e)?" ("+a+")":""}function f2(e){mw.push(e)}function p2(e){gw.push(e)}function h2(e){Pw||Cw||b[0]!==e||r.Play_ChatForceDisable||(g2(e),fw=Qk(function(){g2(e)},1e3,fw),_)||qw()}function _2(){o(pw),o(hw),Xk(fw),Xk(_w)}function m2(){Cw=!1,_2(),b[0]=0,$4(kw[0]),$4(kw[1]),vw=null,mw=[],gw=[],Mw={},dw(jw=0),dw(1),Eb(0)}function g2(e){var a,t=mw.length;if(jw'+u+u+Qt+u+u+""}),Cw=!0,Xk(fw))}function v2(e){Cw||b[0]!==e||b2(e)}function b2(e){""!==vw&&WS(iC,XO,y2,V,e,0,"POST",Tw.replace("%v",r.ChannelVod_vodId).replace("%c",vw))}function y2(e,a){Cw||b[0]!==a||(200===e.status?c2(e.responseText,a):w2(a))}function w2(e){b[0]===e&&(hw=A(function(){b2(e,0)},2500,hw))}function x2(){m2(),S2(Ot+u+Tt),_||Lw()}function A2(){m2(),S2(ki)}function S2(e){var a=" ",a=(a+='')+e+"";(e=document.createElement("div")).className="chat_line",e.innerHTML=a,kw[0].appendChild(e),kw[1].appendChild(e.cloneNode(!0))}function k2(e){for(var a=kw[e].getElementsByClassName("chat_line_holder"),t=0,i=a.length-Iw;t'+f+f+At),d("channel_content_titley_1",''+f+f+xe),d("channel_content_titley_2",''+f+f+Ka),c("dialog_hist_setting_name_0",Rn),c("dialog_hist_setting_name_2",Fn),c("dialog_hist_setting_name_3",Qu),c("dialog_hist_setting_summary_3",Xu),c("dialog_hist_val_2",Zn),c("dialog_opt_text",os),c("dialog_thumb_opt_setting_name_-1",fs),c("dialog_thumb_opt_val_-1",Zn),c("dialog_thumb_opt_setting_name_0",rs),c("dialog_thumb_opt_setting_name_1",ds),c("dialog_thumb_opt_setting_name_3",pp),c("dialog_thumb_opt_setting_name_4",hp),c("dialog_thumb_opt_setting_name_5",gp),c("dialog_thumb_opt_setting_name_6",ns),c("dialog_thumb_opt_setting_name_7",mi),c("dialog_thumb_opt_setting_name_8",K),d("dialog_multi_help_text",ks),c("chat_send_button0",od),c("chat_send_button1",vl),c("chat_send_button2",Dl),c("chat_send_button3",yl),c("chat_send_button4",xl),c("chat_send_button5",Sl),c("chat_send_button6",Il),c("chat_send_button7",jl),c("chat_send_button8",bl),c("chat_send_button9",wl),c("chat_send_button10",Al),c("chat_send_button11",kl),c("chat_result",Cl),pv(),c("update_dialog_changebutton",Oc),c("update_dialog_exit",ua),d("feed_end_1",Ct),d("feed_end_3",Z),d("feed_end_4",W+f+Z),d("feed_end_5",Z+f+qn),d("feed_end_7",W+f+"VOD"),d("feed_end_8","VOD "+qn),d("icon_feed_back",f)}function wA(e,a,t,i){d(e,'
'+f+t+"
")}function t(e){xA(m(e))}function xA(e){e&&e.classList.add("hide")}function l(e){AA(m(e))}function AA(e){e&&e.classList.remove("hide")}function SA(e){return kA(m(e))}function kA(e){return!y(e?e.className:"","hide")}function h(e,a){jA(m(e),a)}function jA(e,a){e.classList.add(a)}function n(e,a){CA(m(e),a)}function CA(e,a){e&&e.classList.remove(a)}function d(e,a){IA(m(e),a)}function IA(e,a){e&&(e.innerHTML=a)}function c(e,a){PA(m(e),a)}function PA(e,a){e&&(e.textContent=a)}function MA(e){e&&e.remove()}function VA(e){var a=m(e).getElementsByClassName("emoji");if(a){for(var t=0,i=a.length;t"+u+Aa+u+u+Sa+u+u+wn+u+u+Vp+(e=V2?e:_?Lp+xn+""+u+An+u+u:Lp+yf+""+u+wf+u+u)+Lp+ca+""),l("welcome_dialog")}function KA(){t("welcome_dialog")}function WA(){return SA("welcome_dialog")}function ZA(e,a){x("keydown",e),w("keydown",a),JA(),l("dialog_controls"),aj("Controls")}function $A(){t("dialog_controls")}function e4(){return SA("dialog_controls")}function a4(e){return e&&(e+"").replace(/\B(?=(\d{3})+(?!\d))/g,",")}function t4(e){return 1===e?Ie:Pe}function i4(e){return 1===e?je:Ce}function o4(e){return!y(e+"","live")}function n4(e,a,t){return null!==m(t+e+"_"+a)}function s4(e){kX()?(w("keydown",AY),dX||zX(),gT&&W3(),xX(!0)):l4(!1,e)}function l4(e,a){FA(),r.Main_Go!==X2&&(r.Main_BeforeChannelisSet=!1),r.Main_Go!==Z2&&(r.Main_BeforeAgameisSet=!1),M[r.Main_Go]?M[r.Main_Go].init_fun(a):M[1].init_fun(),e&&x("keydown",M[r.Main_Go].key_fun)}function d4(){dA=r.Search_isSearching?r.Main_Go:(r.Main_BeforeSearch=r.Main_Go,null),p4(r.Main_Go),r.Main_Go=D2,FA(),zA(),kF()}function r4(){mH=GU,p4(r.Main_Go),r.Main_Go=ox,FA(),zA(),k7()}function c4(){rA=A(u4,500,rA)}function u4(){g("Main_values",JSON.stringify(r)),g("Play_data",JSON.stringify(k))}function f4(){r=NL(r,LS("Main_values",{})),k=NL(k,LS("Play_data",{}))}function p4(e){M[e]&&M[e].exit_fun&&M[e].exit_fun(),SA("settings_holder")&&nH()}function h4(){wA("label_refresh","icon-refresh",L+":"+vt),wA("label_thumb","icon-options",hs)}function _4(){wA("label_thumb","icon-return",ue)}function m4(e){return e=new Date(e),yx?e.getDate()+" "+bt[e.getMonth()]+" "+e.getFullYear():bt[e.getMonth()]+" "+e.getDate()+" "+e.getFullYear()}function g4(e){return m4(e)+" "+(e=new Date(e)).getHours()+":"+AD(e.getMinutes())}var v4=!0,b4,y4,w4,x4,A4,S4;function k4(e){var a,t,i,o,n,s;v4&&(_?(t=g3(),i=I3(),o=v3(),n=b3(),Hk("Webviewversion "+i),a="Apk: "+Yx+" Web: "+p_.WebVersion+(i?" Webview: "+i:"")+" Device: "+o+" - "+t+" Sdk: "+n,s=M4(Yx),O.update_background.defaultValue||(s?P4(!(w4=!0)):e||j4()),cj(Yx,p_.WebVersion,i,t,n,o)):(a=p_.VersionBase+"."+p_.publishVersionCode+" - "+p_.WebVersion,cj(Yx,p_.WebVersion,navigator.appVersion,navigator.platform,"Browser","Browser")),d("dialog_about_text",Yp+a+u+zp+F_+""+u+''+Kp),Mx=(new Date).getTime())}function j4(e){!v4||w4&&K4()&&O.update_background.defaultValue&&!e||(y(window.location.href,"https://fgl27.github.io")?RS("https://fgl27.github.io/SmartTwitchTV/release/githubio/version/version.json",I4,C4):A(function(){x4=!1,H4(),O4()},1e3))}function C4(){K4()&&l7(Gc)}function I4(e){x4=!1,N4=OS();var a=(e=JSON.parse(e)).WebTag>p_.WebTag,t=_&&p_.publishVersionCode
'+f+(e?Uc:Fc)+Jc+"
"),K4()?H4():O.update_show.defaultValue||a?Xx||1!==O.update_show.defaultValue||(a=(e?Uc:Fc)+Jc,_?l7(a):(cS()?RA:ED)(a,3e3),Xx=!0):X4()}function M4(e){var a=(e=e.split("."))[0]+"."+e[1],e=parseInt(e[2]),t=parseFloat(a)"+(w4?A4?Uc:Fc:Ec)+u+(!w4&&N4?Hc+N4:f)+""+u+Lp+Nc+f+""+u,a=p_.changelog,t=(e+=Lp+a[0].title+""+u+qp,a[0].changes.length),i=0;i")}function J4(){Q4(),X4()}function Q4(){x4=!0,m("update_dialog_upbutton").style.width="30%",d("update_dialog_upbutton",zc),j4(!0)}function X4(){H4(),Vk(!0,F4,!0),V4(),kX()?(AX(),VX()):fK()&&mS()?RK(N):lG()&&Dq(r.Main_Go),l("update_dialog"),L4=!0,aj("UpdateDialog")}function Y4(e){E4=0,t("update_dialog"),L4=!1,e||(Vk(!1,F4),kX()?xX(!0):fK()?IK(!0,N):cS()&&!nY()&&M[r.Main_Go].init_fun())}function K4(){return L4}function W4(){for(var e,a,t=Lp+Vc+""+Tc+zp+"https://tinyurl.com/sttvchanges

",i=p_.changelog,o=0,n=i.length;o"+qp,a=i[o].changes.length,e=0;e
"}d("dialog_changelod_text",t+Lp+fa+"")}function Z4(e){$4(m(e))}function $4(e){if(e)for(;e.firstChild;)e.removeChild(e.firstChild)}function eS(e){T2=e}function aS(e){var a=0;return T2'+e+""}):""}function ik(e,a,t){var i;!Lm()||!a||!a[0]||"live"===e&&M[ax].histPosX[1]||"vod"===e&&M[tx].histPosX[1]||"clip"===e&&M[ix].histPosX[1]||((i=uk(e,a[7]))?(i.data=bk(a),i.date=t?i.date:(new Date).getTime(),i.game=a[3],i.views=a[13]):(1999a.id?-1:e.ida[t]?-1:e[t] '),AA(BV),zY=!1,IC(),UP(),iP(3),UK(),R7=!(EO=!1),(gT?(vC(bT),kT):Y7?xC:hC)(),K7?-1!==XG&&(bw=XG,Ew()):x2(),Y7=!1,K7?dC():(c("end_vod_name_text_2",""),d("end_vod_title_text_2",""),S[kM].setLabel("")),NT(r.Main_selectedChannel_id),HD(3),S[xM].setLabel(r.Main_selectedChannelDisplayname),nI(r.Main_selectedChannel_id)}function lC(){wN=!1,bN((JO=Z7)[fE=0])}function dC(){r.ChannelVod_vodId&&RS(zx+"videos?id="+r.ChannelVod_vodId,rC,V,null,null,!0)}function rC(e){(e=JSON.parse(e)).data&&e.data.length&&(e=e.data[0],d("end_vod_title_text_2",ZG=tk(e.title)),S[kM].setLabel(ZG,r.Main_selectedChannelDisplayname),PC(fM,e.thumbnail_url.replace("%{width}x%{height}",hx)+Wx))}function cC(){q7=(new Date).getTime(),WS(iC,QO,uC,V,0,q7,"POST",nC.replace("%x",FG))}function uC(e,a,t){R7&&q7===t&&(200===e.status&&(t=JSON.parse(e.responseText)).data&&t.data.clip&&(t.data.clip.videoOffsetSeconds||0===t.data.clip.videoOffsetSeconds)?(XG=t.data.clip.videoOffsetSeconds||1,WC()):KC(If))}function fC(){z7=(new Date).getTime(),WS(iC,QO,pC,V,0,z7,"POST",nC.replace("%x",FG))}function pC(e,a,t){R7&&z7===t&&200===e.status&&(t=JSON.parse(e.responseText)).data&&t.data.clip&&(e=t.data.clip,-1===XG&&(e.videoOffsetSeconds?(bw=XG=e.videoOffsetSeconds,Ew):x2)(),e.game&&e.game.displayName&&(d("stream_info_game",ee+e.game.displayName),zG=e.game.displayName,k.data[3]=zG,S[AM].setLabel(k.data[3])),e.broadcaster)&&(d("stream_info_name",RI(e.broadcaster.displayName,e.broadcaster.roles&&e.broadcaster.roles.isPartner,2,HG)),KT(m("stream_info_icon"),e.broadcaster.profileImageURL),r.Main_selectedChannelDisplayname=e.broadcaster.displayName,r.Main_selectedChannelPartner=e.broadcaster.roles.isPartner,k.data[5]=e.broadcaster.profileImageURL)}function hC(){G7=(new Date).getTime(),WS(iC,QO,_C,V,0,G7,"POST",oC.replace("%x",FG))}function _C(e,a,t){R7&&G7===t&&(200===e.status&&(t=gC(e.responseText)).length?vC(t):mC())}function mC(){BD(),ED(cn,2e3),A(function(){j8(3)},2e3)}function gC(e){var a,t=[],i=JSON.parse(e);if(i&&i.hasOwnProperty("data")&&i.data.hasOwnProperty("clip")&&i.data.clip){a="?sig="+encodeURIComponent(i.data.clip.playbackAccessToken.signature)+"&token="+encodeURIComponent(i.data.clip.playbackAccessToken.value),(i=i.data.clip.videoQualities).sort(function(e,a){return a.quality-e.quality});for(var o=0,n=i.length;oa.values.length-1&&(a.defaultValue=a.values.length-1),a.bottomArrows(),O[e].defaultValue=a.defaultValue,g(e,a.defaultValue+1)}function bI(){(!b5[0]&&b5[1]||!v5[0]&&v5[1])&&yI(0)}function yI(e,a){b5[e]=1,v5[e]=a?T("screen_preview_volume")*XU:100,_7(),h7(),m7()}function wI(){var e,a;if(xO){for(e=WM,a=oV+1;e ')}function SI(e,a,t){v5[e]+=a*XU,v5[e]<0?v5[e]=0:100 ')}function jI(e){var a="vol-level-4";return v5[e]?v5[e]&&v5[e]<30?a="vol-level-1":v5[e]&&v5[e]<60?a="vol-level-2":v5[e]&&v5[e]<100&&(a="vol-level-3"):a="vol-level-0",a}function CI(){MI(AO,TM),PA(S[TM].doc_title,iu[S[TM].defaultValue])}function II(){MI(bO,CM),PA(S[CM].doc_title,Ji+" - "+S[CM].values[S[CM].defaultValue]+"x")}function PI(){xO?MI(0,VM):MI(2,MM)}function MI(e,a){S[a].defaultValue=e,S[a].bottomArrows&&S[a].bottomArrows(),S[a].setLabel()}function VI(e){var a=fI!==P;fI=P,e?a&&EI():(a&&BI(),TI()),_&&(I?Tj:Dj)(P),g("Play_isFullScreen",P)}var OI=[[{width:"9.7%",left:"0.2%"},{width:"14.7%",left:"0.2%"},{width:"19.7%",left:"0.2%"},{width:"24.7%",left:"0.2%"},{width:"29.7%",left:"0.2%"},{width:"34.7%",left:"0.2%"},{width:"39.7%",left:"0.2%"}],[{width:"9.7%",left:"90.1%"},{width:"14.7%",left:"85.1%"},{width:"19.7%",left:"80.1%"},{width:"24.7%",left:"75.1%"},{width:"29.7%",left:"70.1%"},{width:"34.7%",left:"65.1%"},{width:"39.7%",left:"60.1%"}]];function TI(){I?(dO.style.width=OI[1][3].width,dO.style.left=OI[1][3].left,dO.style.height="99.6%",m("play_chat_dialog").style.marginTop=$O[3].dialogTop+"%",dO.style.top="0.2%"):(dO.style.width=OI[hI][pI].width,dO.style.left=OI[hI][pI].left,dO.style.height="99.6%",m("play_chat_dialog").style.marginTop=$O[3].dialogTop+"%",dO.style.top="0.2%",_&&Dj(P),S[HM].values=jr,S[JM].values=["10%","15%","20%","25%","30%","35%","40%"],S[HM].defaultValue=hI,S[JM].defaultValue=pI,S[HM].setLabel(),S[HM].bottomArrows(),S[JM].setLabel(),CV(JM)),MO=!0,dO.classList.remove("hide"),_||vg(),O.show_chatters.defaultValue&&qb(0,0)}var DI={height:"",marginTop:"",top:"",left:"",WasEnable:!1,controlsPos:[],controlsPosDefault:0,controlsSizeDefault:0};function BI(){DI.controlsPos=S[JM].values,DI.controlsPosDefault=S[JM].defaultValue,DI.controlsSizeDefault=S[HM].defaultValue,DI.WasEnable=MO,DI.height=dO.style.height,DI.marginTop=m("play_chat_dialog").style.marginTop,DI.top=dO.style.top,DI.left=dO.style.left,PI()}function EI(){DI.controlsPos.length&&(S[JM].values=DI.controlsPos,S[JM].defaultValue=DI.controlsPosDefault,m8(),S[HM].defaultValue=DI.controlsSizeDefault,S[HM].setLabel(),S[HM].bottomArrows(),S[JM].setLabel(),CV(JM),MO=DI.WasEnable,dO.style.width="",(MO?u8:f8)(),dO.style.height=DI.height,m("play_chat_dialog").style.marginTop=DI.marginTop,dO.style.top=DI.top,dO.style.left=DI.left,PI()),vg()}function NI(){6<++pI&&(pI=0),LI()}function LI(){Ej(pI),TI(),g("Play_FullScreenSize",pI)}function qI(){hI^=1,zI()}function zI(){Bj(hI),TI(),g("Play_FullScreenPosition",hI)}function GI(){var e=.76*eT[r.Chat_font_size_new]+"%";m("chat_inner_container1").style.fontSize=e,m("chat_inner_container0").style.fontSize=e}function RI(e,a,t,i,o){return e='
'+e+f+f+'
',t?e+=1===t?f+f+'
  VOD  
':f+f+'
  CLIP  
':(a=cP(),t=Z,o?t=Ee:a&&(t=Uo),e+=f+f+'
'+f+f+t+f+f+"
"),e+'
'+f+f+i+"
"}function FI(){AV(),fV=uV,QD()&&2===_E&&xV()}function UI(e,a,t){var i;1===a?(k.qualityIndex+=-1*e,i=h8()-1,k.qualityIndex=HI(k.qualityIndex,i),x8(h8,k.qualityIndex,bD,S[t])):2===a?(oE+=-1*e,i=_N()-1,x8(_N,oE=HI(oE,i),hN,S[t])):3===a&&(H7+=-1*e,i=zC()-1,x8(zC,H7=HI(H7,i),GC,S[t]))}function HI(e,a){return a'}function qP(e){KI()&&!UD()?(aP(),GO?(RK(N),ZI(),RD()):N===rW||N===tW?YK(N):(GO=!0,RK(N),ZI())):UB()?FB():fK()&&!KI()?N===rW||N===tW?YK(N):hK():QD()&&!IN()?(e?eN:WD)():IN()&&(UD()||T("single_clickExit"))?(CN(),KE(!1),VD()):UD()||T("single_clickExit")?xO?S[BM].enterKey():(I?T8:(FD(),f8(),e?(NN(),YE):(GP(),PD)))():((LD()||GD())&&(o(cD),o(rD),ND(),zD()),zP())}function zP(){var e=I?uo:Me;c("play_dialog_exit_text",xO?xs:e),RD()}function GP(){TO&&0'}function UP(){var e,a=0;if(xO)for(var t=jO?"big":"";a<4;a++)e=0'+e+"")}},S[AM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"gamepad",offsetY:-8,string:ft,values:"",defaultValue:null,enterKey:function(e){YD(),IP(e)},setLabel:function(e){d("controls_text_summary_"+this.position,'
'+(""===e?xi:e)+"
")}},S[SM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"play",offsetY:-8,string:Wu,values:"",defaultValue:null,enterKey:function(){YD(),z8(),dI(r.Main_selectedChannel)},setLabel:function(e,a){d("controls_text_summary_"+this.position,'
'+e+"
"),IA(S[this.position].doc_title,a+f+this.string)}},S[kM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"movie-play",offsetY:-9,string:Pt,values:"",defaultValue:null,enterKey:function(){YD(),YC()},setLabel:function(e,a){d("controls_text_summary_"+this.position,'
'+e+"
"),PA(S[this.position].doc_title,this.string+" - "+a)}},S[jM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"heart-o",offsetY:-5,string:Ka,values:"",defaultValue:null,enterKey:function(e){g_=1===e?k.data[14]:r.Main_selectedChannel_id,BP(),yV(e)},setLabel:function(e,a){PA(S[this.position].doc_title,e),this.setIcon(a)},setIcon:function(e){d("controls_button_icon_holder_"+this.position,'')}},S[CM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"speedometer",offsetY:-5,string:Ji,values:[.25,.5,.75,1,1.05,1.1,1.15,1.2,1.25,1.5,1.75,2],defaultValue:3,enterKey:function(){cP()||(bO=this.defaultValue,L3(this.values[this.defaultValue]),II())},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){PA(this.doc_name,this.values[this.defaultValue]+(1===this.values[this.defaultValue]?"x ("+Yi+")":"x"))},bottomArrows:function(){CV(this.position)}},S[IM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"external",string:er,values:["1080p60 | Source | 10.00Mbps | avc"],defaultValue:0,enterKey:function(e){cP()||(_?(q3(fD[S[this.position].defaultValue]),KD(e)):qD(bf,2e3))},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.setLabel()},setLabel:function(){PA(this.doc_name,S[this.position].values[S[this.position].defaultValue]),this.bottomArrows()},bottomArrows:function(){CV(this.position)}},S[PM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:Qi,values:["1080p60 | Source | 10.00Mbps | avc"],defaultValue:0,enterKey:function(e){var a;cP()||(1===e?(k.quality=k.qualityPlaying,h5.quality=k.quality,a=k.quality,tT(k.qualities[k.qualityIndex].id),bD(LV),a!==k.quality?Ij(k.qualityIndex-1):Jj(1,0,0),A8()):2===e?(a=aE=tE,aE=iE[oE].id,tE=aE,hN(LV),a!==aE?Ij(oE-1):Jj(2,o3(),0),pN()):3===e&&(F7=U7,F7=J7[H7].id,U7=F7,Q7=J7[H7].url,GC(LV),AC(),qC()),yV(e))},updown:function(e,a){UI(e,a,PM)}},S[MM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:fo,values:Lu,defaultValue:2,enterKey:function(e){cP()||(2===this.defaultValue?(Jj(1,0,0),Jj(1,0,1)):this.defaultValue?Jj(1,0,0):Jj(1,0,1),this.setLabel(),yV(e))},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=this.values.length-1:this.defaultValue>this.values.length-1&&(this.defaultValue=0),this.setLabel()},setLabel:function(){var e;j.data&&k.data&&(e=(this.defaultValue?k:j).data[1],PA(this.doc_name,S[this.position].defaultValue<2?S[this.position].values[S[this.position].defaultValue]+" - "+e:S[this.position].values[S[this.position].defaultValue]))}},S[VM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:fo,values:ou,defaultValue:0,enterKey:function(e){if(!cP()){if(this.defaultValue){var a=S[this.position].defaultValue-1;E3(a,C[a].AutoUrl,C[a].playlist,!0)}else for(var t=0;tthis.values.length-1&&(this.defaultValue=0),this.defaultValue&&!C[S[this.position].defaultValue-1].data.length?this.updown(e):this.setLabel()},setLabel:function(){var e=S[this.position].defaultValue-1;this.defaultValue&&!C[e]||PA(this.doc_name,S[this.position].defaultValue?S[this.position].values[S[this.position].defaultValue]+" - "+C[e].data[1]:S[this.position].values[S[this.position].defaultValue])}},S[OM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"screen-off",offsetY:-6,string:cp,enterKey:function(e){KD(e),_I=!0,SH()}},S[TM]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"history",offsetY:-7,string:en,values:ic,defaultValue:AO,enterKey:function(e){if(!cP()){if(AO=this.defaultValue,_)if(Rj(AO),xO)for(var a=0;athis.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){PA(this.doc_name,S[this.position].values[S[this.position].defaultValue])},bottomArrows:function(){CV(this.position)}},S[DM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"feed",offsetY:-5,string:yc,values:[],defaultValue:0,enterKey:function(){vE=yE[this.defaultValue].posMs/1e3,mN()},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){PA(this.doc_name,S[this.position].values[S[this.position].defaultValue])},bottomArrows:function(){CV(this.position)}},S[BM]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"multi",string:Ss,values:null,enterKey:function(e){if(_&&!cP())if(PO<4)qD(Yu.replace("%x",PO)+Ss,3e3);else if(xO=!xO){WD(),y(k.quality,"Auto")||(tT("Auto"),Ij(-1),x8(h8,0,bD,S[PM])),N3(jO,0);for(var a=0;a<4;a++)C[a]=JSON.parse(JSON.stringify(h5));for(C[0]=JSON.parse(JSON.stringify(k)),CB(0,C[0].data[3],C[0].data[13],C[0].data[1],C[0].data[8],C[0].data[9],cee.parse(C[0].data[2],!1,!0),C[0].data[14]),I&&(C[1]=JSON.parse(JSON.stringify(j)),CB(1,C[1].data[3],C[1].data[13],C[1].data[1],C[1].data[8],C[1].data[9],cee.parse(C[1].data[2],!1,!0),C[1].data[14])),$8(),a=I?2:1;a<4;a++)jB(a);(uI=p8())&&S[LM].enterKey(),UP(),dj("MultiStream",C[0].data[6],C[0].data[3],y(C[0].data[1],He)?"HOSTING":C[0].data[15])}else B3(),tB(e),FD(),dD(1,I)}},S[EM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-4,string:Bu,values:null,defaultValue:null,enterKey:function(){pV=EM,AV(),fV=yM,wI(),xV()}},S[NM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:P?"resize-down":"resize-up",offsetY:-7,string:Xi,values:null,defaultValue:null,enterKey:function(e){VI(P=!P),I&&(P?(rw(1),o6):(nb(1),i6))(),I2(),this.setLabel(),this.setIcon(),yV(e)},setLabel:function(){var e=I?P?Do:To:P?Ui:Hi;PA(S[this.position].doc_title,Xi+" - "+e),e=I?P?To:Do:P?Hi:Ui,c("controls_text_summary_"+this.position,su+e),S[LM].position&&S[LM].setLabel()},setIcon:function(){var e=I?"pp":P?"resize-down":"resize-up";d("controls_button_icon_holder_"+this.position,'')}},S[LM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"chat",offsetY:-3,string:Sn,values:null,defaultValue:null,enterKey:function(){!P&&!xO||jO||(g("ChatEnable",(MO=p8()||KI()?(f8(),!1):(u8(),!0))?"true":"false"),this.setLabel())},setLabel:function(){var e=p8()?pt:ge;P||xO?xO&&jO&&(e=tl):e=I?To:Hi,c("controls_text_summary_"+this.position,"("+e+")")}},S[zM]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"keyboard",offsetY:-5,string:pl,values:null,defaultValue:null,enterKey:function(){r.Play_ChatForceDisable?qD(ki,1500):Cm()&&v[0].access_token?(I&&!P?$1:m1)():qD(Rl,1500)}},S[qM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"chat-settings",offsetY:-6,string:Mu,values:null,defaultValue:null,enterKey:function(){pV=qM,AV(),fV=yM,mV("ShowInChat"),xV()}},S[GM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"status",offsetY:-5,string:Ru,values:Kr,defaultValue:y5,updown:function(e,a){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),g("Play_Status_Visible",y5=this.defaultValue),this.bottomArrows(),HD(a)},bottomArrows:function(){CV(this.position)}},S[RM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"preview",offsetY:-4,string:zu,values:null,defaultValue:null,enterKey:function(){pV=RM,AV(),fV=yM,S[nV].defaultValue=T("show_feed_player"),S[nV].bottomArrows(),S[sV].defaultValue=T("preview_sizes"),S[sV].bottomArrows(),S[lV].defaultValue=T("preview_volume_new"),S[lV].bottomArrows(),S[dV].defaultValue=T("preview_others_volume_new"),S[dV].bottomArrows(),mV("ShowInPreview"),xV()}},S[FM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-stop",offsetY:-5,string:Ci,values:null,defaultValue:null,enterKey:function(e){r.Play_ChatForceDisable=!r.Play_ChatForceDisable,1===e?(nb(0),!I||P||xO||nb(1)):Ew(),this.setLabel(),c4()},setLabel:function(){c("controls_text_summary_"+this.position,"("+(r.Play_ChatForceDisable?pt:ge)+")")}},S[UM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-delay",offsetY:-5,string:so,values:[$t,du,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30,45,60,90,120,150,180,240,300],defaultValue:UO,isChat:!1,updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),FO=1this.values.length-1&&(this.defaultValue=0),P||xO?(uO+=e,b8(),this.defaultValue=uO):(hI=this.defaultValue,zI()),this.setLabel(),this.bottomArrows())},setLabel:function(){PA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){this.doc_up.classList.remove("hide"),this.doc_down.classList.remove("hide"),this.doc_up.style.opacity="1",this.doc_down.style.opacity="1"}},S[JM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-size",offsetY:-5,string:Ri,values:["12.5%","25%","50%","75%","100%"],defaultValue:hO,isChat:!0,updown:function(e){if(p8()&&!jO&&(P||!I)){if(this.defaultValue+=e,this.defaultValue<0)this.defaultValue=0;else if(this.defaultValue>this.values.length-1)return void(this.defaultValue=this.values.length-1);this.bottomArrows(),P||xO?((hO=this.defaultValue)===_O-1&&-1===e?v8(!1):hO===_O&&v8(!0),_8(!0),S[HM].defaultValue=uO):(pI=this.defaultValue,LI()),this.setLabel()}},setLabel:function(){PA(S[HM].doc_name,S[HM].values[S[HM].defaultValue]),PA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){CV(this.position)}},S[QM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-brig",offsetY:-5,string:Ii,values:["0%","5%","10%","15%","20%","25%","30%","35%","40%","45%","50%","55%","60%","65%","70%","75%","80%","85%","90%","95%","100%"],defaultValue:r.ChatBackground,isChat:!0,updown:function(e){p8()&&(P||xO)&&!jO&&(this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),r.ChatBackground=this.defaultValue,pO=(.05*this.defaultValue).toFixed(2),g8(!1),this.setLabel(),this.bottomArrows(),c4())},setLabel:function(){PA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){CV(this.position)}},S[XM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-font",offsetY:-6,string:ti,values:eT,defaultValue:r.Chat_font_size_new,isChat:!0,timeoutID:null,updown:function(e){p8()&&(this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),r.Chat_font_size_new=this.defaultValue,this.bottomArrows(),this.setLabel(),this.timeoutID=A(function(){GI(),c4()},150,this.timeoutID))},setLabel:function(){PA(this.doc_name,this.values[this.defaultValue]+"%")},bottomArrows:function(){CV(this.position)}},S[YM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"speaker",offsetY:-4,string:Vu,values:null,defaultValue:null,enterKey:function(){QP.length||(QP=bk(b5)),b5=[1,1,1,1],h7(),m7(),wI(),qD(Nu,2e3),UP()}},S[KM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"levels",offsetY:-5,string:Ou,values:null,defaultValue:null,enterKey:function(){v5=[100,100,100,100],_7(),m7(),wI(),qD(Eu,2e3),UP()}},S[WM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[au,Zt],defaultValue:b5[0],updown:function(e){xI(0,e,this)},setLabel:function(){var e=k.data[1];sE||R7?e=r.Main_selectedChannelDisplayname:xO&&(e=C[0].data[1]),AI(0,e,this)},bottomArrows:function(){CV(this.position,!0)}},S[ZM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:v5[0],updown:function(e){SI(0,e,this)},setLabel:function(){var e=k.data[1];sE||R7?e=r.Main_selectedChannelDisplayname:xO&&(e=C[0].data[1]),kI(0,e,this)},bottomArrows:function(){CV(this.position,!0)}},S[$M]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[au,Zt],defaultValue:b5[1],updown:function(e){xI(1,e,this)},setLabel:function(){AI(1,(I?j:C[1]).data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[eV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:v5[1],updown:function(e){SI(1,e,this)},setLabel:function(){kI(1,(I?j:C[1]).data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[aV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[au,Zt],defaultValue:b5[2],updown:function(e){xI(2,e,this)},setLabel:function(){AI(2,C[2].data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[tV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:v5[2],updown:function(e){SI(2,e,this)},setLabel:function(){kI(2,C[2].data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[iV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[au,Zt],defaultValue:b5[3],updown:function(e){xI(3,e,this)},setLabel:function(){AI(3,C[3].data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[oV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:v5[3],updown:function(e){SI(3,e,this)},setLabel:function(){kI(3,C[3].data[1],this)},bottomArrows:function(){CV(this.position,!0)}},S[nV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"preview",offsetY:-5,string:qu,values:[ge,pt],defaultValue:O.show_feed_player.defaultValue,updown:function(e){vI("show_feed_player",this,e)},bottomArrows:function(){CV(this.position)}},S[sV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"pp",offsetY:-9,string:Gu,values:dr,defaultValue:O.preview_sizes.defaultValue,updown:function(e){vI("preview_sizes",this,e),z3(T("preview_sizes"))},bottomArrows:function(){CV(this.position)}},S[lV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"volume",offsetY:-5,string:rr,values:KU(),defaultValue:O.preview_volume_new.defaultValue,updown:function(e){vI("preview_volume_new",this,e),G3(T("preview_volume_new"))},bottomArrows:function(){CV(this.position)}},S[dV]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"speaker",offsetY:-4,string:or,values:KU(),defaultValue:O.preview_others_volume_new.defaultValue,updown:function(e){vI("preview_others_volume_new",this,e),R3(T("preview_others_volume_new"))},bottomArrows:function(){CV(this.position)}},S[cV]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"feed",offsetY:-4,string:G,values:null,defaultValue:null,enterKey:function(e){var a=eM;2===e?a=zN:3===e&&(a=iI),O5(a)}},S[rV]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"globe",offsetY:-4,string:mi,values:O.content_lang.values,defaultValue:T("content_lang"),updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),Tz(this.defaultValue)},bottomArrows:function(){CV(this.position,!0),IA(this.doc_name,tk(this.values[this.defaultValue]))}};var e,a=m("controls_holder"),t=document.createDocumentFragment(),i=0,o=Object.keys(S).length;for($4(a),aM=-1;i
'+S[i].string+'
'+(S[i].values?_V(i):f)+"
",t.appendChild(e),aM++,S[i].position=i,S[i].visible=!0,S[i].doc=e;for(a.appendChild(t),i=0;i
 
'+S[e].values[S[e].defaultValue]+"
"}function mV(e){for(var a in S)(S[a][e]?kV:jV)(a);S[fV].visible||FI()}function gV(){++hO>_O?(hO=0,v8(!1)):hO===_O&&v8(!0),_8(!0),S[JM].defaultValue=hO,S[JM].bottomArrows(),S[JM].setLabel()}function vV(){uO++,b8(),S[HM].defaultValue=uO,S[HM].setLabel()}function bV(e){S[fV].enterKey?S[fV].enterKey(e):yV(e)}function yV(e){r8(),1===e?c8():2===e?fN():3===e&&RC()}function wV(e,a){S[fV].updown?S[fV].updown(a,e):1===a&&(1eT.length-1&&(r.Chat_font_size_new=eT.length-1),DB(),hV(),_8(!1),g8(!1),GI()}function C5(){var e="Client-ID",a="Accept",t="application/vnd.twitchtv.v5+json";Nx=[[e,U_],[a,t],[Gx,null]],Lx=[[e,Q_],[a,t],[Gx,null]],YS(),Im()&&KS(),QO=[[e,Lx[0][1]]],YO=[[e,Lx[0][1]],["Accept","application/vnd.twitchtv.v5+json"]],XO=[[e,X_]],Tx=[[e,U_],[a,t]],Ox=JSON.stringify(Tx)}function I5(){return!(cW<=N&&(qD(Fs,1500),1))}var P5,M5=0;function V5(e,a){M5=a?(iA.style.background="none",null):(wk(M5,e=P?e:null)||(iA.style.backgroundRepeat="no-repeat",iA.style.backgroundSize="100%",iA.style.backgroundColor="#000000",iA.style.backgroundImage=e?"url('"+e+"')":"none"),e)}function O5(e){x("keydown",P5=e),w("keydown",B5),l("dialog_controls_player"),aj("Controls_Player")}function T5(){t("dialog_controls_player"),x("keydown",B5),w("keydown",P5)}function D5(){return SA("dialog_controls_player")}function B5(e){switch(e.keyCode){case Vh:case Bh:case Dh:T5()}}var E5,N5=!1,I=!1,L5=!1;function q5(){var e;N5=!0,z5=0,PO<2?qD(Yu.replace("%x",PO)+Ku,3e3):I5()&&(e=EP(!1,!1))&&((L5=I)?Z5():m5=JSON.parse(JSON.stringify(h5)),j.data=e,j.watching_time=(new Date).getTime(),j.isHost=y(j.data[1],He),j.isHost&&(j.DisplayNameHost=j.data[1],j.data[1]=j.DisplayNameHost.split(He)[0]),I=!0,d("chat_container_name_text1",f+j.data[1]+f),_&&(y(k.quality,"Auto")||Ij(-1),tT("Auto"),x8(h8,0,bD,S[PM]),j.quality="Auto",j.qualityPlaying=j.quality),(gT?(j.AutoUrl=mT,W5(bT,!0),kT):X5)(),dj("PictureInPicture",j.data[6],j.data[3],j.isHost?"HOSTING":j.data[15],B[N].Screen))}var z5,G5,R5,F5,U5,H5,J5,Q5=0;function X5(e){_&&(Q5=(new Date).getTime(),e?(e=MT(j.data[6]))?K5(JSON.parse(e),!1):n6(!1,0):R6(!0,j.data[6],Q5,null,Y5))}function Y5(e){I&&TO&&e&&0<(e=JSON.parse(e)).checkResult&&e.checkResult===Q5&&K5(e)}function K5(e,a){200===e.status?(j.AutoUrl=e.url,W5(e.responseText)):a?n6(!1,0):w6(1===e.status||403===e.status?ri:404===e.status?j.data[1]+" "+Z+fe:co)}function W5(e,a){j.watching_time=(new Date).getTime(),UP(),j.playlist=e,r6(),P?Fj(wO):(nb(1),Tj(P),i6(),TI()),_&&TO&&(a?Xj:Qj)(j.AutoUrl,j.playlist,1,0,1),hK(a),m5=JSON.parse(JSON.stringify(h5)),x6(),Gv=!0,j.isHost||ik("live",j.data),zT(j.data[14],j.data[7],j.data[0]),Hk("PlayExtra_data.playlist\n"+j.playlist)}function Z5(){m5=JSON.parse(JSON.stringify(j)),ik("live",j.data)}function $5(){qD(j.data[1]+" "+Z+fe,2e3),j=JSON.parse(JSON.stringify(m5)),m5=JSON.parse(JSON.stringify(h5))}function e6(){g5=JSON.parse(JSON.stringify(k))}function a6(){j=JSON.parse(JSON.stringify(g5))}function t6(){e6(),k=JSON.parse(JSON.stringify(j)),r.Main_Go===Z2&&(r.Main_OldgameSelected=r.Main_gameSelected_id),a6(),u4(),OT(P,!1),f6(),P||sb(),d("chat_container_name_text1",f+j.data[1]+f),d("chat_container_name_text0",f+k.data[1]+f),pD(_D(k.playlist),0,k.data[1]);var e=v5[0];v5[0]=v5[1],v5[1]=e,UP()}function i6(){l("chat_container1"),l("chat_container_name0"),l("chat_container_name1")}function o6(){t("chat_container1"),t("chat_container_name0"),t("chat_container_name1")}function n6(e,a){!a&&O.open_host.defaultValue?(qD(j.data[1]+" "+Z+fe+Pd,2e3),A(function(){l6(e?1:0)},2e3)):s6(e,a)}function s6(e,a,t){var i=(e?k:j).data[1]+" "+Z+fe;1===a&&(i=br+u+yr),2===a&&(i=vr+u+yr),e&&(Uj(),t6()),qD(i+wD(t),2500+(a?2500:0)),T8()}function l6(e){z5=(new Date).getTime();var a=(e?k:j).data[14];a?ek(d6,e,z5,a):s6(e)}function d6(e,a,t){if(TO&&z5===t){if(200===e.status){t=JSON.parse(e.responseText).data;if(t.user&&t.user.hosting&&((e=t.user.hosting).id=e.id.toString(),e.id!==j.data[14].toString())&&e.id!==k.data[14].toString())return EO=!0,t=(a?k:j).data[1]+Dt+Ue+e.displayName,a?(r.Play_isHost=!0,k.DisplayNameHost=e.displayName+He+k.data[1],k.data[6]=e.login,k.data[1]=e.displayName,k.data[14]=e.id,iT(),yI(0)):I&&(j.DisplayNameHost=e.displayName+He+k.data[1],j.data[6]=e.login,j.data[1]=e.displayName,j.data[14]=e.id,j.isHost=!0,X5()),void ED(t,4e3)}s6(a)}}function r6(){S[NM].setLabel(),S[NM].setIcon(),mV("ShowInPP"),t("stream_info"),l("stream_info_pp")}function c6(){j=JSON.parse(JSON.stringify(h5)),S[NM].setLabel(),S[NM].setIcon(),mV("ShowInLive"),rw(1),o6(),t("stream_info_pp"),l("stream_info"),yI(0)}function u6(){I=!1,j=JSON.parse(JSON.stringify(h5))}function f6(){k.data[9]&&(m("stream_info_ppimg0").src=k.data[9]),v6(k.data[14],0),G5!==k.data[2]&&d("stream_info_pp_title0",cee.parse(k.data[2],!1,!0)),G5=k.data[2],R5!==k.data[3]&&d("stream_info_pp_game0",""===k.data[3]?f:ee+k.data[3]),R5=k.data[3],F5!==k.data[13]&&d("stream_info_pp_viewers0",ae+a4(k.data[13])+f+t4(k.data[13])+","),F5=k.data[13],j.data[9]&&(m("stream_info_ppimg1").src=j.data[9]),v6(j.data[14],1),U5!==j.data[2]&&d("stream_info_pp_title1",cee.parse(j.data[2],!1,!0)),U5=j.data[2],H5!==j.data[3]&&d("stream_info_pp_game1",""===j.data[3]?f:ee+j.data[3]),H5=j.data[3],J5!==j.data[13]&&d("stream_info_pp_viewers1",ae+a4(j.data[13])+f+t4(j.data[13])+","),J5=j.data[13]}var p6,h6,_6,m6,g6=[];function v6(e,a){(!a&&k.data&&k.data.length&&null!==k.data[10]&&null!==k.data[9]||a&&j.data&&j.data.length&&null!==j.data[10]&&null!==j.data[9])&&y6(a),g6[a]=(new Date).getTime(),RS(e=zx+"users?id="+e,b6,V,a,g6[a],!0)}function b6(e,a,t){(e=JSON.parse(e)).data&&e.data.length&&g6[a]===t&&(t=e.data[0],a?(j.data[10]="partner"===t.broadcaster_type,j.data[9]=t.profile_image_url):(k.data[10]="partner"===t.broadcaster_type,k.data[9]=t.profile_image_url),y6(a))}function y6(e){var a;e?(a=RI(j.isHost?j.DisplayNameHost:j.data[1],j.data[10],0,j.data[5]?"["+j.data[5].split("[")[1]:"",j.data[8]),p6!==a&&d("stream_info_pp_name1",a),p6=a,_6!==k.data[9]&&(m("stream_info_ppimg1").src=j.data[9]),_6=j.data[9]):(a=RI(k.isHost?k.DisplayNameHost:k.data[1],k.data[10],0,k.data[5]?"["+k.data[5].split("[")[1]:"",k.data[8]),h6!==a&&d("stream_info_pp_name0",a),h6=a,m6!==k.data[9]&&(m("stream_info_ppimg0").src=k.data[9]),m6=k.data[9])}function w6(e){0'),DD(),OO=0,navigator.onLine?PT():lO=Qk(PT,100,lO),HD(1)}function IT(e){A(function(){0"),d("stream_info_multiimgholder_big"+e,'"),d("stream_dialog_multiimgholder_big"+e,'"),d("stream_dialog_multiimgholder"+e,'");var a=m("stream_info_multiimg_big0");a.style.width="16.5%",a.style.marginTop="-0.5%",d("stream_dialog_multiimgholder-1",'"),d("stream_info_ppimgholder0",'"),d("stream_info_ppimgholder1",'")}var BB,EB=0;function NB(e){for(var a=jO?"_big":"",t=0;t<4;t++)c("stream_dialog_multi_name"+a+t,C[t].data[1]),C[t].data[9]?m("stream_dialog_multiimg"+a+t).src=C[t].data[9]:LB(C[t].data[14],t),d("stream_dialog_multi_game"+a+t,""===C[t].data[3]?f:C[t].data[3]),d("stream_dialog_multi_title"+a+t,cee.parse(C[t].data[2],!1,!0));c("stream_dialog_multi_name-1",y(e[1],He)?e[1].split(He)[0]:e[1]),e[9]?m("stream_dialog_multiimg-1").src=e[9]:LB(e[14],-1),d("stream_dialog_multi_game-1",""===e[3]?f:e[3]),d("stream_dialog_multi_title-1",cee.parse(e[2],!1,!0)),(gT?(Yj(1),_K):hK)(),EB=0,zB(),RB()}function LB(e,a){RS(e=zx+"users?id="+e,qB,V,a,0,!0)}function qB(e,a){var t;(e=JSON.parse(e)).data&&e.data.length&&(e=e.data[0],t=jO?"_big":"",0 '),xA(gM),ZV(),bO=3,UK(),HD(2),gE=0,JO=FU,fE=O.vod_seek_max.defaultValue,bN(O.vod_seek_min.defaultValue),mV("ShowInStay"),zY=!(K7=!0),XG=0,r.Play_isHost=!1,VC(0,0),VC(1,0),UP(),nA||(KT(m("stream_info_icon"),r.Main_selectedChannelLogo||_h),d("stream_info_name",RI(r.Main_selectedChannelDisplayname,r.Main_selectedChannelPartner,1,"["+YG.toUpperCase()+"]")),d("stream_info_title",ZG),c("stream_info_game",$G),IA(EV,KG+","+f+WG),c("stream_live_viewers",""),PA(NV,""),VA("stream_info_title")),AE(),gT?jE():(DD(),e=!0,a=T("vod_dialog"),WB=0,!bE&&!nA&&a<2&&(t=Cm()?ck("vod",r.ChannelVod_vodId):-1,(WB=-1 '),uE=O.vod_seek_min.defaultValue,n8-=rE,rE=0,rO.style.transition="",sE&&cN(vE,CO,!0),vE=0}function gN(){uE=O.vod_seek_min.defaultValue,gE=0,vN="",bN(O.vod_seek_min.defaultValue),x("keyup",SN)}var vN="";function bN(e,a){rE&&!_E&&(pM.style.display="inline-block"),IA(pM,ci+(a||"")+(sE?O.vod_seek_min.values[e]+u+(wN?pc:fc):"1"+ui)),vN=a}var yN,wN=!1;function xN(){o(QB),wN&&(uE=yE[a].posMs){yE[a].game&&(wL(yE[a].gameId,yE[a].game),QD()&&fV===DM||(S[DM].defaultValue=a,S[DM].setLabel(),S[DM].bottomArrows()));break}}function wL(e,a){ZB=e,k.data[18]=e,(k.data[3]=a)&&(S[AM].setLabel(a),d("stream_info_game",ee+a))}function xL(){XB=T("seek_preview")}var AL,SL,kL,jL,M={},CL=!1,IL=1e4,PL=250,ML=300,VL=!0,OL=!1,TL=!0,DL=!1;function BL(){for(var e in AR(),PR(),TR(),OR(),VR(),DR(),BR(),ER(),NR(),LR(),SR(),CR(),jR(),IR(),zR(),qR(),MR(),GR(),kR(),RR(),FR(),UR(),HR(),w("keyup",Qq),M)M[e].key_fun=Kq.bind(null,M[e].screen),M[e].key_up=Hq.bind(null,M[e].screen),M[e].key_thumb=sz.bind(null,M[e].screen),M[e].key_hist=M9.bind(null,M[e].screen),M[e].key_histdelet=m9.bind(null,M[e].screen),M[e].key_period=d9.bind(null,M[e].screen),M[e].key_controls=rq.bind(null,M[e].screen);M[E2]={start_fun:P$,init_fun:C$,key_fun:W$,exit_fun:I$},M[E2].key_controls=rq.bind(null,E2),M[X2]={start_fun:o0,init_fun:t0,key_fun:E0,exit_fun:i0},M[X2].key_controls=rq.bind(null,X2),SL=m("dialog_thumb_opt"),kL=m("yes_no_dialog"),A(ej),LL()}function EL(e,a){return[a+"_thumbdiv_",a+"_img_",a+"_title_",a+"_data_",e+"_scroll",a+"_animated_",a+"_row_",a+"_watched_",a+"_time_",a+"_since_",a+"_views_",a+"_innerTitle_",a+"_game_"]}function NL(){for(var e={},a=0,t=arguments.length;aM[e].ItemsLimit?t=M[e].ItemsLimit:M[e].loadingData||(M[e].dataEnded=!0),M[e].HasSwitches&&!M[e].TopRowCreated&&M[e].addSwitches(),!M[e].hasBanner()||M[e].BannerCreated||tR||M[e].addBanner(),t){var i=Math.ceil(t/M[e].ColumnsCount),o=M[e].row_id+i;for(M[e].row_id;M[e].row_id=a){M[e].tempHtml.length&&(M[e].Cells[M[e].row_id]=YL(e)),M[e].hasBanner()&&!M[e].BannerCreated&&(M[e].row_id++,M[e].tempHtml=[],M[e].addBanner());break}}}M[e].emptyContent=!(t&&M[e].itemsCount||M[e].status),M[e].emptyContent&&(M[e].BannerCreated?(M[e].itemsCount=1,M[e].emptyContent=!1,RA(he,0,!0)):M[e].addEmptyContentBanner(!0)),aq(e)}function YL(e){var a=document.createElement("div");return M[e].rowClass&&(a.className=M[e].rowClass),a.id=M[e].ids[6]+M[e].row_id,a.innerHTML=M[e].tempHtml.join(""),a}function KL(e,a,t,i){return M[i].DataObj[e]=t,'
'+(t[5]?'':"")+t[3]+(t[4]?f+f+'
':"")+"
"}function WL(e,a,t,i){return M[i].DataObj[e]=t,'
'+t[1]+"
"+(""!==t[2]?'
'+t[2]+"
":"")+"
"}function ZL(e,a,t,i,o,n){var s=t[3]&&""!==t[3]?ee+t[3]:"";return M[i].DataObj[e]=t,'
'+t[4]+'
'+SD(t[1])+""+f+""+t[11]+'
'+t[10]+'
'+s+'
'+It+t[16]+","+f+t[14]+i4(t[13])+"
"+(o?'
'+zn+g4(o)+f+Gn+SD(n":"")+"
"}function $L(e,a,t,i,o,n){return M[i].DataObj[e]=t,'
'+t[1]+'
'+SD(t[11])+""+f+""+t[5]+'
'+t[10]+'
'+(""!==t[3]&&null!==t[3]?wt+ee+t[3]:"")+'
'+Se+t[2]+","+f+t[4]+i4(t[13])+"
"+(o?'
'+zn+g4(o)+f+Gn+SD(n)+"
":"")+"
"}function eq(e,a,t,i,o,n,s){t[1]||(t[1]=t[6]);var l=t[16],d=s?n:t[0].replace("{width}x{height}",hx)+Wx;return M[i].DataObj[e]=t,'
'+(n||s?'
  VOD  
 ':'
')+t[1]+'
'+t[5]+'
'+tk(cee.parse(t[2]))+'
'+(""!==t[3]?ee+t[3]:"")+'
'+ie+t[11]+''+f+ae+t[4]+f+t4(t[13])+"
"+(o?'
'+zn+g4(o)+f+Gn+kD(o-new Date(t[12]).getTime())+"
":"")+"
"}function aq(e){if(M[e].FirstRunEnd=!0,M[e].status)kA(M[e].ScrollDoc)&&GA(M[e].posX,M[e].posY,M[e].ColumnsCount,M[e].itemsCount);else{if(r.Main_Go===Z2&&e===Z2&&_G(),M[e].emptyContent)dG(e)&&RA(M[e].emptyContent_STR?M[e].emptyContent_STR():he);else{M[e].status=!0;for(var a=M[e].Cells.length,t=0;t<(aM[e].lastRefresh+cJ()&&(iq(e,5e3*a),a++)}var nq,sq,lq=!1;function dq(e){Gk()?(lq=!0,x("keydown",Fk),t("dialog_accessibility")):lq=!1,KA(),$A(),JA(),x("keydown",M[e].key_controls),lq?zk():(w("keydown",M[e].key_fun),M[e].addFocus?uq(!0,e):M[e].init_fun())}function rq(e,a){switch(a.keyCode){case Vh:case Bh:case Dh:dq(e)}}function cq(e){Ix=!1,e||TA(),km(),(r.Sidepannel_IsUser?_Y:mY)(),fY(r.Main_Go),qk(!0)}function uq(e,a){if(M[a].emptyContent){if(!M[a].HasSwitches)return M[a].key_exit(M[a].emptyContent);M[a].posY=-1}M[a].posY<0?(Bq(a),M[a].emptyContent||a!==r.Main_Go||sH()||GA(M[a].posX,M[a].posY+1,M[a].ColumnsCount,M[a].itemsCount)):(M[a].data&&(2M[a].data.length&&!M[a].dataEnded&&!M[a].loadingData?FL(a):M[a].posY+M[a].ItemsReloadLimit>M[a].itemsCount/M[a].ColumnsCount&&M[a].data_cursora&&(1a+3||i)&&(VL&&TL&&!OL?xq(a,-2,-2,-2,6,2,3,0,t):Aq(a,-2,-2,6,2,3,0,t)),M[t].currY=M[t].posY,Iq(e,t)}function kq(e,a){M[a].Cells[e+2]?VL&&TL&&!OL?xq(e,2,4,-2,5,2,-3,1,a):Aq(e,2,-2,5,2,-3,1,a):M[a].loadingData&&A(function(){kq(e,a)},10)}function jq(e,a,t,i){M[t].currYa?a&&M[t].Cells.length>a+1&&M[t].Cells[a+2]||i?VL&&TL&&!OL?xq(a,-1,-1,-1,3,1,2,0,t):Aq(a,-1,-1,3,1,2,0,t):A(function(){mq(t)},a?0:ML):mq(t),M[t].currY=M[t].posY,Iq(e,t)}function Cq(e,a){1M[e].SwitchesIcons.length-1?M[e].posX=0:M[e].posX<0&&(M[e].posX=M[e].SwitchesIcons.length-1),h(M[e].ids[0]+"-1_"+M[e].posX,"stream_switch_focused"),M[e].focusPos=-1)}function Eq(e){M[e].posX>M[e].SwitchesIcons.length-1?M[e].posX=0:M[e].posX<0&&(M[e].posX=M[e].SwitchesIcons.length-1),n(M[e].ids[0]+"-1_"+M[e].posX,"stream_switch_focused")}function Nq(e,a){e4()?$A():QA()?JA():(e===M[a].screen?r.Main_Go=B2:r.Main_Go=e,GL(a))}function Lq(e,a){if(M[a].FirstRunEnd)if(!M[a].HasSwitches||M[a].posY||-1!==e||M[a].emptyContent){if(M[a].HasSwitches&&-1===M[a].posY&&M[a].DataObj["0_"+M[a].posX])M[a].posY=0,uq(!1,a),Eq(a);else for(var t=0;tM[a].SwitchesIcons.length-1&&(M[a].posX=1),Bq(a)}function qq(e){M[e].HasAnimateThumb&&-1=M[e].posY+1?M[e].posX===M[e].ColumnsCount-1&&!VL||zq(1,0,e):uq(!0,e))}function Yq(e,a){0=M[e].posY+1||M[e].Cells[M[e].posY+a]||M[e].itemsCount&&M[e].HasSwitches&&-1M[e].histArrays[M[e].histPosY].length-1?M[e].histPosX[M[e].histPosY]=M[e].histArrays[M[e].histPosY].length-1:j9(e)}function M9(e,a){switch(a.keyCode){case Bh:case Dh:u9(!1,e);break;case Ch:I9(e);break;case Ph:P9(e);break;case Ih:M[e].histPosY--,M[e].histPosY<0?M[e].histPosY=0:(k9(M[e].histPosY+1,"hist"),S9(M[e].histPosY,e));break;case Mh:M[e].histPosY++,M[e].histPosY>M[e].histArrays.length-1?M[e].histPosY=M[e].histArrays.length-1:(k9(M[e].histPosY-1,"hist"),S9(M[e].histPosY,e));break;case Vh:u9(!0,e)}}var V9,O9=0;function T9(e,a){var t=M[e].posY+"_"+M[e].posX;$q=!M[e].histPosXName,-1!==M[e].posY&&!M[e].DataObj[t].image||($q=!0),fq(),-1Zz[O9].length-1?$z[O9]=Zz[O9].length-1:Qz(Zz[O9]))}function rz(e,a,t){var i;(O9+=t)<-1?O9=a:J9M[e].lastRefresh+cJ()}function sG(e){return M[e].posY+"_"+M[e].posX===M[e].focusPos}function lG(){return sG(r.Main_Go)&&cS()}function dG(e){return e===r.Main_Go&&cS()&&!kX()&&!nY()&&!sH()&&!K4()&&!T4()}function rG(e){cG(e,M[e].posY+"_"+M[e].posX)}function cG(e,a){var t,i,o,n=M[e].posY+"_"+M[e].posX;gT&&!Tk&&n===a&&dG(e)&&sG(e)&&M[e].Cells[M[e].posY]&&!M[e].DataObj[a].image&&(_q(e)&&(t=o3()/1e3,n=pq(e),i=fG(e,n),!t&&2!==M[e].screenType||(c(M[e].ids[8]+a,SD(t)+" | "+SD(i)),o=m(M[e].ids[7]+a),t?(T("app_animations")&&(o.style.transition=""),o.style.width=t/i*100+"%"):(o.style.transition="none",A(function(){o.style.width=t/i*100+"%"},25)))),Xz=A(function(){cG(e,a)},1e3,Xz))}function uG(e,a){var t;_q(e)&&(t=SD(fG(e,bk(M[e].DataObj[a].image?[]:M[e].DataObj[a]))),c(M[e].ids[8]+a,t))}function fG(e,a){return a[1===M[e].screenType?11:1]}var pG=!1;function hG(e){Cm()?SG():(RA(tt),A(function(){M[e].emptyContent&&r.Main_Go===Z2?RA(ge+qe):FA()},2e3))}function _G(){(Cm()?vG:(pG=!1,yG))()}var mG,gG='{"query":"{game(id: \\"%x\\") {self{follow{followedAt}}}}"}';function vG(e){var a=[[XS,Q_],[QS,Rx+v[0].access_token]];mG=(new Date).getTime(),WS(iC,a,bG,V,e,mG,"POST",gG.replace("%x",r.Main_gameSelected_id))}function bG(e,a,t){mG===t&&200===e.status&&(t=JSON.parse(e.responseText).data,pG=Boolean(t&&t.game&&t.game.self&&t.game.self.follow)),yG()}function yG(){r.Main_Go===Z2&&d(M[Z2].ids[2]+"-1_2",pG?''+f+e+Ya:''+f+f+(Cm()?Ka:at))}var wG,xG='{"operationName":"FollowGameButton_UnfollowGame","variables":{"input":{"gameID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"811e02e396ebba0664f21ff002f2eff3c6f57e8af9aedb4f4dfa77cefd0db43d"}}}',AG='{"operationName":"FollowGameButton_FollowGame","variables":{"input":{"gameID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"b846b65ba4bc9a3561dbe2d069d95deed9b9e031bcfda2482d1bedd84a1c2eb3"}}}';function SG(e){var a=[[XS,Q_],[QS,Rx+v[0].access_token]];wG=(new Date).getTime(),WS(iC,a,pG?kG:jG,V,e,wG,"POST",(pG?xG:AG).replace("%x",r.Main_gameSelected_id))}function kG(e,a,t){wG===t&&200===e.status&&(t=JSON.parse(e.responseText).data,CG(!Boolean(t.unfollowGame)))}function jG(e,a,t){wG===t&&200===e.status&&(t=JSON.parse(e.responseText).data,CG(Boolean(t.followGame)))}function CG(e){pG=e,wG=0,yG()}var IG=100,PG=1.35,MG=1.5,VG=45,OG=3,TG=Math.floor(VG/OG/MG),DG=45,BG=5,EG=Math.floor(DG/BG/PG),NG=48,LG=6,qG=Math.floor(NG/LG/MG),zG="",GG="",RG="",FG="",UG="",HG="",JG=0,QG=null,XG=0,YG="",KG="",WG="",ZG="",$G="",eR=200,aR=3e4,V=function(){},tR=!1,iR=72e5,oR='{"query":"{user(id:\\"%x\\"){followedGames(first:100,type:LIVE){nodes{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',nR='{"query":"{featuredStreams(first:10,acceptedMature:%m%x){stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}"}',sR='{"query":"{games(first: 100) {edges{node{id,name,clips(first:50,criteria:{period:%t%l}){edges{node{title,videoOffsetSeconds,viewCount,slug,language,durationSeconds,createdAt,id,video{id},thumbnailURL(width:480,height: 272),broadcaster{id,displayName,login}}}}}}}}"}',lR='{"query":"{games(first: 30) {edges{node{id,name,videos(first:20,types:%a%l,sort:VIEWS){edges{node{duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}}}}"}',dR='{"query":"{games(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',rR='{"operationName":"FollowingLive_CurrentUser","query":"query,FollowingLive_CurrentUser{currentUser{followedLiveUsers(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}}}}"}',cR='{"operationName":"FollowedVideos_CurrentUser","query":"query FollowedVideos_CurrentUser{currentUser{followedVideos(%y first:100,types:%x,sort:%t){pageInfo{hasNextPage},edges{cursor,node{game{displayName,id},duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}}"}',uR='{"operationName":"ChannelFollows","query":"query,ChannelFollows{currentUser{follows(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{id,displayName,login,followers(){totalCount},profileImageURL(width:300),roles{isPartner},stream{id}}}}}}"}',fR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:USER,limit:100}){users{cursor,pageInfo{hasNextPage}items{id,displayName,login,followers(){totalCount},profileImageURL(width:300),roles{isPartner},stream{id}}}}}"}',pR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{ index:GAME,limit:100}){games{cursor,pageInfo{hasNextPage}items{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',hR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:LIVE,limit:100}){liveChannels{cursor,pageInfo{hasNextPage}items{stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}}}"}',_R='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:VOD,limit:100}){videos{cursor,pageInfo{hasNextPage}items{game{displayName,id},duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}"}',mR,gR,vR,bR,yR,wR,xR;function AR(){mR={posX:0,posY:-1,currY:0,row_id:0,offsettopFontsize:0,offsettop:0,column_id:0,dataEnded:!1,idObject:{},loadingData:!1,itemsCount:0,MaxOffset:0,offset:0,enable_mature:0,visiblerows:3,status:!1,FirstRunEnd:!1,emptyContent:!0,itemsCountCheck:!1,isRefreshing:!1,Headers:Nx,data:null,token:null,data_cursor:0,lastRefresh:0,PreviewEnable:0,DataObj:{},tempHtml:"",focusPos:"",IsOpen:0,Lang:"",BannerTime:0,url:iC,SetPreviewEnable:function(){this.PreviewEnable=0===this.screenType&&T("show_live_player")||1===this.screenType&&T("show_vod_player")||2===this.screenType&&T("show_clip_player")},AutoRefreshId:null,key_fun_start:function(){return Kq.bind(null,this.screen)},exit_fun:function(){GL(this.screen)},init_fun:function(e){qL(this.screen,e)},start_fun:function(){RL(this.screen)},loadDataSuccess:function(){XL(this.screen)},Set_Scroll:function(){this.ScrollDoc=m(this.ids[4]),this.tableDoc=m(this.table)},addrow:jq,key_exit:function(e){Rq(this.screen),this.screen!==Z2||e?this.screen!==J2&&this.screen!==H2&&this.screen!==Q2&&this.screen!==sx||e?this.screen!==ex&&this.screen!==$2||e?this.screen!==K2&&this.screen!==Y2||e?Gq(!1,this.screen):(Nq(X2,this.screen),l4()):(Nq(Z2,this.screen),l4()):(r.Main_Go===r.Main_BeforeSearch?r.Main_Go=B2:r.Main_Go=r.Main_BeforeSearch,r.Search_isSearching=!1,Nq(r.Main_Go,this.screen),l4()):(r.Games_return?(r.Main_Go=H2,r.Main_gameSelected_id=r.gameSelected_IdOld,r.gameSelected_IdOld=null):(r.Main_Go=r.Main_BeforeAgame,r.Main_BeforeAgame=L2),Nq(r.Main_Go,this.screen),l4())},concatenate:function(e){this.concatenateAfter(e)},concatenateAfter:function(e){this.data?(e[this.object]&&(this.data.push.apply(this.data,e[this.object]),this.offset=this.data.length),this.setMax(e)):(this.data=e[this.object],this.data?(this.offset=this.data.length,this.setMax(e)):this.data=[],this.loadDataSuccess()),this.loadingData=!1,this.hasBackupData&&this.setBackupData(e,this.data,this.lastRefresh,this.gameSelected_Id,this.ContentLang,this.Lang)},setBackupData:function(e,a,t,i,o,n){this.BackupData||(this.BackupData={data:{},lastScreenRefresh:{},responseObj:{},ContentLang:{},Lang:{},enable_mature:{},offsettopFontsize:{}}),t>this.BackupData.lastScreenRefresh[i]&&this.eraseBackupData(i),this.BackupData.lastScreenRefresh[i]&&!(t>=this.BackupData.lastScreenRefresh[i])||this.BackupData.data[i]&&this.BackupData.data[i].length>=a.length||this.BackupData.ContentLang[i]&&!wk(this.BackupData.ContentLang[i],o)||this.BackupData.Lang[i]&&!wk(this.BackupData.Lang[i],n)||(this.BackupData.data[i]=JSON.parse(JSON.stringify(a)),this.BackupData.responseObj[i]=e,this.BackupData.lastScreenRefresh[i]=t,this.BackupData.enable_mature[i]=O.enable_mature.defaultValue,this.BackupData.ContentLang[i]=kx,this.BackupData.Lang[i]=vH,this.BackupData.offsettopFontsize[i]=this.offsettopFontsize||T("global_font_offset"))},eraseBackupData:function(e){this.BackupData&&(this.BackupData.data[e]=null,this.BackupData.ContentLang[e]=null,this.BackupData.Lang[e]=null,this.BackupData.lastScreenRefresh[e]=0)},CheckBackupData:function(e){return this.BackupData&&this.BackupData.data[e]&&this.BackupData.data[e].length&&wk(this.BackupData.ContentLang[e],kx)&&wk(this.BackupData.Lang[e],vH)&&this.BackupData.enable_mature[e]===O.enable_mature.defaultValue&&this.BackupData.offsettopFontsize[e]===T("global_font_offset")&&(!T("auto_refresh_screen")||(new Date).getTime()=this.MaxOffset&&(this.dataEnded=!0):this.dataEnded=!0)},setTODialog:function(e){e||h("dialog_thumb_opt_setting_-1","hideimp"),c(q9,ns)},check_offset:function(){(900<=this.offset||void 0!==this.MaxOffset&&this.offset&&this.offset+IG>this.MaxOffset)&&(this.dataEnded=!0)},addCell:function(e){this.isQuery?this.addCellQuery(e):this.addCellTemp(e)},addCellTemp:function(e){var a=this.useHelix?e.user_id:e.channel._id,t=Cz(this.screen===Z2&&this.BeforeAgame===nx?null:e.user_id,this.screen===Z2?null:e.game_id,this.IsUser);!this.idObject[a]&&_F(e)&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(eq(this.row_id+"_"+this.column_id,this.ids,aF(e),this.screen)),this.column_id++)},addCellQuery:function(e){var a,t;e&&e.stream&&(t=Cz(a=e.stream.broadcaster.id,e.stream.game?e.stream.game.id:null,this.IsUser),!this.idObject[a])&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(eq(this.row_id+"_"+this.column_id,this.ids,eF(e),this.screen)),this.column_id++)},key_play:function(){this.is_a_Banner()||this.itemsCount&&(n(this.ids[1]+this.posY+"_"+this.posX,"opacity_zero"),this.OpenLiveStream(!1))},refreshThumb:function(){var e,a,t=this.posY+"_"+this.posX;_q(this.screen)&&!this.DataObj[t].image&&(e=this.DataObj[t][0].replace("{width}x{height}",hx)+Wx,a=m(this.ids[1]+t),s5.onload=function(){a.src=e},s5.src=e)},addFocus:function(e,a){this.refreshThumb(this),Oq(e,a)}}),ItemsReloadLimit:TG,ColumnsCount:OG,addFocus:Oq,rowClass:"animate_height_transition",thumbclass:"stream_thumbnail_live_holder",histPosXName:"HistoryClip_histPosX",screenType:2,cursor:null,OldUserName:"",object:"data",period:["day","week","month","all"],img_404:hh,setTODialog:function(e){e||h("dialog_thumb_opt_setting_-1","hideimp"),c(q9,ls)},HasSwitches:!0,SwitchesIcons:["history","play-1"],addSwitches:function(){JR([f+f+Y,f+f+Vi],this.screen)},setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor||(this.dataEnded=!0)):(this.cursor=e._cursor,""===this.cursor&&(this.dataEnded=!0))},key_play:function(){if(!this.is_a_Banner()){if(-1===this.posY){if(this.loadingData)return;if(!this.posX)return void a9(this.screen);if(this.DataObj["0_0"].image)return;tC=!0,Eq(this.screen),this.posX=0,this.posY=0}this.OpenClip()}},Cells:[],addCell:function(e){var a=this.useHelix||this.isQuery?e.id:e.tracking_id,t=this.isQuery&&e.broadcaster?e.broadcaster.id:e.broadcaster_id,t=Cz(this.screen===ex&&this.BeforeAgame===nx?null:t,this.screen!==ex?e.game_id:null,this.IsUser||this.screen===K2);!this.idObject[a]&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(ZL(this.row_id+"_"+this.column_id,this.ids,iF(e,this.isQuery),this.screen)),this.column_id++)}},yR={HeadersArray:Tx,thumbclass:"stream_thumbnail_game_holder",ItemsReloadLimit:EG,ItemsLimit:DG,rowClass:"animate_height_transition_games",ColumnsCount:BG,addFocus:Oq,img_404:uh,screenType:3,key_play:function(){var e;this.is_a_Banner()||(SS(this.posY+"_"+this.posX,this.ids),e=pq(this.screen),r.Main_gameSelected_id=e[3],r.Main_gameSelected=e[1],x("keydown",this.key_fun),r.Main_BeforeAgame=this.screen,r.Main_Go=Z2,r.Main_BeforeAgameisSet=!0,Cx=0,x("keydown",this.key_fun),xA(this.ScrollDoc),M[r.Main_Go].BeforeAgame=r.Main_BeforeAgame,l4())},setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor&&""!==this.cursor||(this.dataEnded=!0)):(this.MaxOffset=e._total,this.data.length>=this.MaxOffset&&(this.dataEnded=!0))},addCell:function(e){var a=this.isLive||this.screen===L2,t=this.hasGameProp&&!this.isQuery?e.game:e,i=this.useHelix||this.isQuery?t.id:t._id,o=Cz(null,i,this.IsUser);if(!this.idObject[i]&&o){if(this.itemsCount++,this.idObject[i]=1,this.useHelix)this.tempHtml.push(WL(this.row_id+"_"+this.column_id,this.ids,[t.box_art_url?t.box_art_url.replace(this.isSearch?"52x72":"{width}x{height}",_x):"",t.name,"",i],this.screen));else if(this.isQuery){if(!t)return;this.tempHtml.push(WL(this.row_id+"_"+this.column_id,this.ids,[t.boxArtURL?t.boxArtURL.replace("{width}x{height}",_x):"",t.displayName,(e.channelsCount?a4(e.channelsCount):0)+f+re+u+ae+(e.viewersCount?a4(e.viewersCount):0)+f+t4(e.viewersCount||0),i],this.screen))}else this.tempHtml.push(WL(this.row_id+"_"+this.column_id,this.ids,[t.box&&t.box.template?t.box.template.replace("{width}x{height}",_x):"",t.name,a?a4(e.channels)+f+re+u+ae+a4(e.viewers)+f+t4(e.viewers):"",t._id],this.screen));this.column_id++}}},wR={ItemsLimit:NG,ColumnsCount:LG,addFocus:Vq,ItemsReloadLimit:qG,thumbclass:"stream_thumbnail_channel_holder",rowClass:"animate_height_transition_channel",screenType:4,img_404:fh,setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor&&""!==this.cursor||(this.dataEnded=!0)):!this.isQuery&&(this.MaxOffset=e._total,this.data.length>=this.MaxOffset||void 0===this.MaxOffset)&&(this.dataEnded=!0)},addCellTemp:function(e){var a=Cz(e.id,null,this.IsUser);!this.idObject[e.id]&&a&&(this.itemsCount++,this.idObject[e.id]=1,this.tempHtml.push(KL(this.row_id+"_"+this.column_id,this.ids,oF(e,this.isQuery),this.screen)),this.column_id++)},base_key_play:function(e,a){var t;this.is_a_Banner()||nS(this.posY+"_"+this.posX,this.ids[0])||(t=pq(this.screen),r.Main_selectedChannel_id=t[1],r.Main_selectedChannelDisplayname=t[3],r.Main_selectedChannelLogo=t[2],r.Main_selectedChannel=t[0],x("keydown",this.key_fun),r.Main_BeforeChannel=e,r.Main_Go=X2,r.Main_BeforeChannelisSet=!0,Rg=a,GL(this.screen),l4())}},xR={ItemsReloadLimit:TG,ItemsLimit:VG,ColumnsCount:OG,addFocus:Oq,rowClass:"animate_height_transition",thumbclass:"stream_thumbnail_live_holder",isHistory:!0,streamerID:{},HasSwitches:!0,key_pgDown:nx,key_pgUp:U2,histPosY:0,emptyContent_STR:function(){return hf},histPosXTemp:[0,0,0,0],sorting:[],sortingValues:[["date",0],["date",1],["name",1],["name",0],["game",1],["game",0],["views",0],["views",1],["created_at",0],["created_at",1]],sortingPos:0,Upsorting:function(){this.sorting=[Kn,Wn,Un,Hn,Jn,Qn,Xn,Yn,ts,is]},histEna:[],histEnaPos:0,histClean:[],histCleanPos:0,UpEna:function(){this.histEna=[pt,ge],this.histClean=[pt,ge]},histArrays:[],UpArrays:function(){this.histArrays=[this.sorting,this.histEna,[Zn],this.histClean]},set_url:V,history_concatenate:function(){this.streamerID={},this.data=Cm()?JSON.parse(JSON.stringify(p[v[0].id][this.Type])):[],mk(this.data,this.sortingValues[this.histPosX[0]][0],this.sortingValues[this.histPosX[0]][1]),this.dataEnded=!0,this.loadDataSuccess(),this.loadingData=!1},history_exit:function(){this.status&&(Eq(this.screen),this.posY=0,this.posX=0,h(this.ids[0]+"0_"+this.posX,Hx)),x("keydown",this.key_fun),xA(this.ScrollDoc)},sethistMainDialog:function(){this.Upsorting(),this.UpEna(),this.UpArrays(),j9(this.screen),c("dialog_hist_val_1",this.histArrays[1][this.histPosX[1]]),this.histPosX.length<4&&this.histPosX.push(0),c("dialog_hist_val_3",this.histArrays[3][this.histPosX[3]]),m("dialog_hist_left_1").style.opacity="0",m("dialog_hist_right_1").style.opacity="0",this.histPosXTemp=bk(this.histPosX)}}}function SR(){var e=q2;M[e]=NL({periodMaxPos:4,HeadersArray:Tx,key_pgDown:z2,key_pgUp:L2,object:"vods",ids:EL("Vod",e),ScreenName:"Vod",table:"stream_table_vod",screen:e,highlightSTR:"Vod_highlight",CheckContentLang:1,ContentLang:"",highlight:qS("Vod_highlight",!1),periodPos:ES("vod_periodPos",2),base_post:lR,isQuery:!0,set_url:function(){this.dataEnded=!0,this.post=this.base_post.replace("%l",""===kx?"":',languages:\\"'+aH+'\\"').replace("%a",this.highlight?"HIGHLIGHT":"ARCHIVE")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),RL(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):a9(this.screen):this.OpenVodStart())},SwitchesIcons:["movie-play"],addSwitches:function(){JR([f+f+X],this.screen)},label_init:function(){ZR(this.screen),mY(),r.Sidepannel_IsUser=!1,fY(this.screen),this.SetPeriod()},SetPeriod:function(){g("vod_periodPos",this.periodPos),$R(At,this.highlight?we:ye)}},mR),M[e]=NL(M[e],gR),M[e].Set_Scroll(),M[e].concatenate=function(e){e.data&&e.data.games&&(this.data=pF(e.data.games.edges,"videos"),this.loadDataSuccess()),this.loadingData=!1}}function kR(){var e=sx;M[e]=NL({HeadersArray:Tx,ids:EL("SearchVod",e),ScreenName:"SearchVod",table:"stream_table_search_vod",screen:e,object:"items",isQuery:!0,base_post:_R,set_url:function(){this.post=this.base_post.replace("%x",r.Search_data).replace("%y",this.cursor?'cursor: \\"'+this.cursor+'\\"':"")},label_init:function(){r.Search_isSearching=!0,_4(),this.lastData!==r.Search_data&&(this.status=!1),this.lastData=r.Search_data,fY(this.screen),$R(q+f+At,"'"+r.Search_data+"'")},label_exit:function(){r.Search_isSearching||h4()},key_play:function(){this.is_a_Banner()||this.OpenVodStart()},addCell:function(e){this.addCellTemp(e)}},mR),M[e]=NL(M[e],gR),M[e].Set_Scroll(),M[e].HasSwitches=!1,M[e].concatenate=function(e){if(e.data&&e.data.searchFor&&e.data.searchFor.videos&&e.data.searchFor.videos.items){this.dataEnded=!e.data.searchFor.videos.pageInfo.hasNextPage,this.cursor=e.data.searchFor.videos.cursor;for(var a=0,t=(e={items:e.data.searchFor.videos.items}).items.length;athis.periodMaxPos&&(this.periodPos=1),this.SetPeriod(),RL(this.screen)):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){JR([f+f+X,f+f+Wt],this.screen)},lastselectedChannel:"",label_init:function(){ZR(this.screen),!r.Search_isSearching&&r.Main_selectedChannel_id&&V0(),r.Main_selectedChannel_id!==this.lastselectedChannel&&(this.OffSetPos=0,this.extraoffset=0,this.status=!1),this.lastselectedChannel=r.Main_selectedChannel_id,_4(),wA("label_thumb","icon-return",ue),this.SetPeriod()},SetPeriod:function(){g("UserVod_periodPos",this.periodPos),$R(r.Main_selectedChannelDisplayname,(this.highlight?we:ye)+(1===this.periodPos?Xt:Yt))},label_exit:function(){h4()}},mR),M[e]=NL(M[e],gR),M[e].Set_Scroll()}function CR(){var e=$2;M[e]=NL({useHelix:!0,periodMaxPos:4,HeadersArray:Tx,object:"data",key_pgDown:q2,key_pgUp:N2,ids:EL("AGameVod",e),ScreenName:"AGameVod",table:"stream_table_a_game_vod",screen:e,CheckContentLang:1,ContentLang:"",hasBackupData:!0,highlightSTR:"AGameVod_highlight",highlight:qS("AGameVod_highlight",!1),periodPos:ES("AGameVod_periodPos",2),base_url:zx+"videos?first="+IG+"&game_id=",set_url:function(){this.url=this.base_url+r.Main_gameSelected_id+"&type="+(this.highlight?"highlight":"archive")+"&sort=views&period="+this.period[this.periodPos-1]+(this.cursor?"&after="+this.cursor:"")+(""!==kx?"&language="+kx:"")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),this.isReloadScreen=!0,RL(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):a9(this.screen):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){JR([f+f+X,f+f+Y],this.screen)},OldgameSelected:"",label_init:function(){ZR(this.screen),YR(this.screen),this.SetPeriod()},label_exit:function(){KR(this.screen)},SetPeriod:function(){g("AGameVod_periodPos",this.periodPos),r.Main_gameSelected?$R(r.Main_gameSelected,(this.highlight?we:ye)+f+jx[this.periodPos-1]):fF(2,this.screen)}},mR),M[e]=NL(M[e],gR),M[e].Set_Scroll()}function IR(){var e=F2;M[e]=NL({periodMaxPos:2,UseToken:!0,key_pgDown:U2,key_pgUp:R2,ids:EL("UserVod",e),ScreenName:"UserVod",table:"stream_table_user_vod",screen:e,IsUser:!0,time:["TIME","VIEWS"],highlightSTR:"UserVod_highlight",highlight:qS("UserVod_highlight",!1),periodPos:ES("UserVod_periodPos",1),object:"edges",isQuery:!0,useUserToken:!0,base_post:cR,set_url:function(){this.post=this.base_post.replace("%x",this.highlight?"HIGHLIGHT":"ARCHIVE").replace("%t",this.time[this.periodPos-1]).replace("%y",this.cursor?'after: \\"'+this.cursor+'\\",':"")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),RL(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):(this.periodPos++,this.periodPos>this.periodMaxPos&&(this.periodPos=1),this.SetPeriod(),RL(this.screen)):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){JR([f+f+X,f+f+Wt],this.screen)},label_init:function(){ZR(this.screen),this.SetPeriod(),WR(this.screen)},SetPeriod:function(){g("UserVod_periodPos",this.periodPos),$R(W,(this.highlight?we:ye)+(1===this.periodPos?Xt:Yt))}},mR),M[e]=NL(M[e],gR),M[e].Set_Scroll(),M[e].concatenate=function(e){if(e.data&&e.data.currentUser&&e.data.currentUser.followedVideos&&e.data.currentUser.followedVideos.edges){this.dataEnded=!e.data.currentUser.followedVideos.pageInfo.hasNextPage,e={edges:e.data.currentUser.followedVideos.edges},this.cursor=e&&e.edges&&e.edges.length?e.edges[e.edges.length-1].cursor:null;for(var a=0,t=e.edges.length;aa.node.login?1:0:0});for(var t=0,i=this.data.length;ta.data[t]?1:0}))},blocked_concatenate:function(){var e=this.isGame?"game":"channel";this.data=Cm()&&p[v[0].id].blocked&&p[v[0].id].blocked[e]?Object.values(p[v[0].id].blocked[e]):[],this.blockedSort(),this.dataEnded=!0,this.loadDataSuccess(),this.loadingData=!1},emptyContent_STR:function(){return yp}},mR),M[e].key_play_game=yR.key_play,M[e].key_play_channel=wR.base_key_play,M[e].key_play=function(){-1===this.posY?0===this.posX?(this.isGame=!this.isGame,this.isGame?(this.img_404=uh,this.screenType=3,this.ItemsReloadLimit=EG,this.ItemsLimit=DG,this.ColumnsCount=BG,this.addFocus=Oq,this.rowClass="animate_height_transition_blocked_games",this.thumbclass="stream_thumbnail_blocked_game_holder",this.visiblerows=3):(this.img_404=fh,this.screenType=4,this.ItemsReloadLimit=qG,this.ItemsLimit=NG,this.ColumnsCount=LG,this.addFocus=Vq,this.rowClass="animate_height_transition_blocked_channel",this.thumbclass="stream_thumbnail_blocked_channel_holder",this.visiblerows=5),this.label_init(),RL(this.screen)):1===this.posX&&(this.sortByDate=!this.sortByDate,this.label_init(),RL(this.screen),r.BlockSort=this.sortByDate,c4()):this.isGame?this.key_play_game():this.key_play_channel(e,!1)},M[e].addrowGame=jq,M[e].addrowChannel=Sq,M[e].addrow=function(e,a,t,i){this.isGame?M[t].addrowGame(e,a,t,i):M[t].addrowChannel(e,a,t,i)},M[e].Set_Scroll()}function JR(e,a,t){M[a].TopRowCreated=!0,M[a].row=document.createElement("div"),t&&(M[a].row.style.paddingBottom=t);for(var i,o,n=0,s=e.length;n'+e[n],(o=document.createElement("div")).setAttribute("id",M[a].ids[3]+"y_"+n),o.className="stream_cell_period",o.innerHTML='
'+i+"
",M[a].row.appendChild(o);M[a].tableDoc.appendChild(M[a].row)}function QR(e,a,t){M[a].BannerCreated=!0;var i=M[a].row_id+"_0",o=M[a].ids,n=(M[a].row=YL(a),M[a].Cells[M[a].row_id]=M[a].row,M[a].row_id++,M[a].DataObj[i]=e,document.createElement("div"));n.setAttribute("id",M[a].ids[3]+i),n.className="banner_holder",n.innerHTML='
",M[a].row.appendChild(n),tR&&!t||M[a].tableDoc.appendChild(M[a].row),this.itemsCount+=3,this.column_id+=3,M[a].BannerTime=(new Date).getTime()+iR,tR=!0,M[a].itemsCount+=M[a].ColumnsCount}function XR(e,a){M[Z2].IsOpen===e?(M[Z2].IsOpen=0,e=Z2):M[$2].IsOpen===e?(M[$2].IsOpen=0,e=$2):M[ex].IsOpen===e&&(M[ex].IsOpen=0,e=ex),qL(e,a)}function YR(e){null===r.Main_OldGameSelected&&(r.Main_OldGameSelected=r.Main_gameSelected_id),wA("label_thumb","icon-return",ue),wA("label_refresh","icon-refresh",L+":"+vt),xk(r.Main_OldGameSelected,r.Main_gameSelected_id)&&xk(M[e].gameSelected_Id,r.Main_gameSelected_id)||(M[e].status=!1,M[e].Cells&&M[e].Cells.length&&M[e].gameSelected_Id&&M[e].BackupScreen(M[e].gameSelected_Id)),M[e].gameSelected_Id=r.Main_gameSelected_id,r.Main_OldGameSelected=r.Main_gameSelected_id,(r.Sidepannel_IsUser||r.Main_BeforeAgame===R2?_Y:mY)(),fX=r.Main_BeforeAgame===nx?9:r.Main_BeforeAgame===R2?4:5,fY(r.Main_Go),tj(r.Main_gameSelected)}function KR(e){M[e].gameSelected_Id=r.Main_gameSelected_id,wA("label_thumb","icon-options",hs)}function WR(e){ZR(e),_Y(),fY(M[e].screen)}function ZR(e){Cm()&&(M[e].OldUserName!==v[0].name&&(M[e].status=!1),M[e].OldUserName=v[0].name)}function $R(e,a){d("top_lable",e+f+(a?'
'+a+"
":""))}function eF(e){var a=e.stream.game,t=e.stream.broadcaster;return[e.stream.previewImageURL,t?t.displayName:"",e.stream.title,a?a.displayName:"",a4(e.stream.viewersCount),t&&t.language?"["+t.language.toUpperCase()+"]":"",t?t.login:"",e.stream.id.toString(),o4(e.stream.type),t?t.profileImageURL:"",t?t.roles.isPartner:"",jD(e.stream.createdAt),e.stream.createdAt,e.stream.viewersCount,t?t.id:null,t?t.language:"",null,null,a?a.id:null]}function aF(e,a,t){return[e.thumbnail_url,e.user_name,e.title,e.game_name,a4(e.viewer_count),e.language?"["+e.language.toUpperCase()+"]":"",e.user_login,e.id.toString(),o4(e.type),a||null,t||null,jD(e.started_at),e.started_at,e.viewer_count,e.user_id,e.language,null,null,e.game_id]}function tF(e,a){return a?[sF(e.thumbnailURLs[0],e.animatedPreviewURL),e.creator?e.creator.displayName:"",m4(e.createdAt),e.game_name,a4(e.viewCount),e.language?"["+e.language.toUpperCase()+"]":"",e.creator?e.creator.login:"",e.id,e.animatedPreviewURL,e.language,cee.parse(e.title),PP(e.duration),e.createdAt,e.viewCount,e.creator?e.creator.id:"",e.duration,e.game_id]:[sF(e.thumbnail_url,null),e.user_name,m4(e.created_at),null,a4(e.view_count),e.language?"["+e.language.toUpperCase()+"]":"",e.user_login,e.id,null,e.language,cee.parse(e.title),PP(e.duration),e.created_at,e.view_count,e.user_id,e.duration]}function iF(e,a){return a?[e.slug,e.durationSeconds,e.broadcaster?e.broadcaster.id:"",e.game_name,e.broadcaster?e.broadcaster.displayName:"",null,e.broadcaster?e.broadcaster.login:"",e.id,e.video?e.video.id:null,e.videoOffsetSeconds,cee.parse(e.title),"["+e.language.toUpperCase()+"]",e.created_at,e.viewCount,a4(e.viewCount),e.thumbnailURL,m4(e.createdAt),e.language,e.game_id]:[e.id,e.duration,e.broadcaster_id,null,e.broadcaster_name,null,e.broadcaster_name&&e.broadcaster_name.toLowerCase(),e.id,e.video_id||null,null!==e.vod?-1:null,cee.parse(e.title),e.language?"["+e.language.toUpperCase()+"]":"",e.created_at,e.view_count,a4(e.view_count),e.thumbnail_url,m4(e.created_at),e.language,e.game_id]}function oF(e,a){return a?[e.login,e.id,e.profileImageURL,e.displayName,e.roles.isPartner,e.stream]:[e.broadcaster_login,e.id,e.thumbnail_url,e.display_name,null]}function nF(e){var a,t,i,o;return 4===e?"":(t=(a=o=new Date).getDate(),i=o.getMonth()+1,o="&ended_at="+o.getFullYear()+"-"+(i<10?"0"+i:i)+"-"+(t<10?"0"+t:t)+"T23:59:59Z",a.setDate(a.getDate()-Qx[e]),t=a.getDate(),i=a.getMonth()+1,"&started_at="+a.getFullYear()+"-"+(i<10?"0"+i:i)+"-"+(t<10?"0"+t:t)+"T00:00:00Z"+o)}function sF(e,a){return e?y(e+"","404_processing")?lF(a):e.replace("%{width}x%{height}",hx):null}function lF(e){return e?"https://static-cdn.jtvnw.net/cf_vods/"+(e=e.split("/"))[2].split(".")[0]+"/"+e[3]+"/thumb/thumb0-"+hx+".jpg":null}function dF(a){var t;Xk(a.AnimateThumbId),!T("videos_animation")||gT||a.posY<0||(t=m(a.ids[5]+a.posY+"_"+a.posX),a.DataObj[a.posY+"_"+a.posX][8]?(a.Vod_newImg.onload=function(){this.onload=null,h(a.ids[1]+a.posY+"_"+a.posX,"opacity_zero"),t.style.backgroundSize=t.offsetWidth+"px";var e=0;a.AnimateThumbId=Qk(function(){t.style.backgroundPosition="0px "+ ++e%10*-t.offsetHeight+"px"},650,a.AnimateThumbId)},a.Vod_newImg.src=t.style.backgroundImage.replace(/url\(['"]?(.*?)['"]?\)/i,"$1")):cF(a))}var rF='{"query":"{video(id:\\"%x\\"){animatedPreviewURL}}"}';function cF(e){WS(iC,QO,uF,V,e.screen,e.screen,"POST",rF.replace("%x",e.DataObj[e.posY+"_"+e.posX][7]))}function uF(e,a){200===e.status&&(e=JSON.parse(e.responseText),_q(a))&&e.data&&e.data.video&&e.data.video.animatedPreviewURL&&(M[a].DataObj[M[a].posY+"_"+M[a].posX][8]=e.data.video.animatedPreviewURL,m(M[a].ids[5]+M[a].posY+"_"+M[a].posX).style.cssText="width: 100%; padding-bottom: 56.25%; background-size: 0 0; background-image: url("+e.data.video.animatedPreviewURL+");",dF(M[a]))}function fF(e,a){RS(zx+"games?id="+r.Main_gameSelected_id,hF,V,e,a,!0)}function pF(e,a){for(var t,i,o,n,s,l,d=0,r=e.length,c=[];d
'+a+'
'+t+'
'}function yU(e,a){d(e,''+f+''+f+''+f+''+f+a)}function wU(e){for(var a=[],t=[],i=0,o=e.length;iWF?LF[ZF]=0:LF[ZF]<0&&(LF[ZF]=WF),(ZF?pU:fU)(),MU(),VU()}function PU(e,a,t){e.pos[lU[iU].pos]+=a,e.pos[lU[iU].pos]>t?e.pos[lU[iU].pos]=t:e.pos[lU[iU].pos]<0&&(e.pos[lU[iU].pos]=0),e.focus(),MU(),OU(),VU()}function MU(){lU[aU].pos=1,c("color_options"+lU[aU].property,lU[aU].values[1])}function VU(){if(1===lU[aU].pos){for(var e=[],a=[],t=oU,i=sU+1;t'+a+""}function cH(e,a){return'
'+a+'
'+CH(e)+'
'}function uH(e,a,t,i){return'
'+a+'
'+t+'
'+CH(e)+'
'}function fH(){for(var e in WV(),O)O[e].defaultValue=ES(e,O[e].defaultValue),--O[e].defaultValue,O[e].defaultValue>IH(e)&&(O[e].defaultValue=0);kJ(0),jJ(),CJ(),IJ(),PJ(),fJ(),MJ(),ak(),T("app_animations")||wJ(),tJ(),iJ(),oJ(),nJ(),qO=T("end_dialog_counter"),VJ(),OJ(),JJ=LS("Settings_DisableCodecsNames",[]),nQ(),QJ=LS("Settings_DisableQualities",[]),rQ(),PL=CH("key_up_timeout"),R3(T("preview_others_volume_new")),yI(0,!0),G3(T("preview_volume_new")),z3(T("preview_sizes")),s7(1===T("check_source")),sJ(),xU(),JH(),ZH(),pH(),xJ(0),V2||A(jH,2500),xH(),xL()}function pH(){""===(kx=O.content_lang.apply_values[T("content_lang")])?(aH=wi,u7(null)):(aH=kx.toUpperCase(),u7(kx))}function hH(){for(var e=NS("app_lang_string",O.app_lang.apply_values[T("app_lang")]),a=0,t=O.app_lang.apply_values,i=t.length;a=O.vod_seek_max.defaultValue&&(O.vod_seek_min.defaultValue=O.vod_seek_max.defaultValue,g(e="vod_seek_min",T(e)+1),c(e,CH(e)),m(e+"_arrow_right").style.opacity="0.2")}function KH(){var e;O.vod_seek_max.defaultValue<=O.vod_seek_min.defaultValue&&(O.vod_seek_max.defaultValue=O.vod_seek_min.defaultValue,g(e="vod_seek_max",T(e)+1),c(e,CH(e)),m(e+"_arrow_left").style.opacity="0.2")}function WH(){return!!(T("live_notification")||T("title_notification")||T("game_notification"))||(vj(),!1)}function ZH(){Sj(1===T("live_notification")),kj(1===T("title_notification")),kj(1===T("title_notification")),jj(1===T("game_notification"))}function $H(){Sj(1===T("live_notification")),tJ()}function eJ(){kj(1===T("title_notification")),tJ()}function aJ(){jj(1===T("game_notification")),tJ()}function tJ(){Aj(1===T("live_notification_background")&&WH())}function iJ(){bj(T("live_notification_position"))}function oJ(){yj(CH("repeat_notification"))}function nJ(){wj(WU[T("since_notification")])}function sJ(){Cj(1===O.ping_warn.defaultValue)}function lJ(){qj(!T("PP_workaround"),P)}function dJ(){o7(T("dpad_opacity"))}function rJ(){n7(T("dpad_position"))}function cJ(){return WU[T("auto_refresh_screen")]}function uJ(){return WU[T("auto_minimize_inactive")]}function fJ(){uJ()?(mJ(),w("keyup",mJ)):yJ()}var pJ,hJ,_J=15;function mJ(){pJ=A(gJ,uJ(),pJ)}function gJ(){yJ(),x("keyup",mJ),window.addEventListener("keydown",bJ,!0),window.addEventListener("keyup",bJ,!0),window.addEventListener("keypress",bJ,!0),_J=15,vJ(),l("minimize_warning")}function vJ(){0<_J?(hJ=A(vJ,1e3,hJ),d("minimize_warning",ju.replace("%x",_J+(1<_J?ui:lo)))):(yJ(),_&&P3(!1)),_J--}function bJ(e){e.stopPropagation(),yJ(),fJ()}function yJ(){o(pJ),o(hJ),t("minimize_warning"),x("keyup",mJ),window.removeEventListener("keydown",bJ,!0),window.removeEventListener("keyup",bJ,!0),window.removeEventListener("keypress",bJ,!0)}function wJ(){var a,t,i,e=T("app_animations"),o=e?"":"none";AU(ES("SettingsColor_ColorsObj"+aU,0)),["screen_holder","screen_holder_channel","screen_holder_switch","screen_holder_user","screen_holder_games","animate_height_transition_channel","animate_height_transition_games","animate_height_transition","side_panel_holder_ani","scenefeed_background","side_panel_fix","side_panel_movel","side_panel","side_panel_inner","side_panel_feed_thumb","user_feed","inner_progress_bar","inner_progress_bar_muted"].forEach(function(e){for(t=document.getElementsByClassName(e),a=0,i=t.length;a"+u,0),o=HJ.length;i"),YJ=!0}HJ.length&&(h(HJ[UJ=0].name,"settings_value_focus"),h(HJ[UJ].name+"_div","settings_div_focus"),DH(HJ[UJ].name)),l("dialog_codecs"),w("keydown",eQ)}function WJ(){VH(HJ[UJ].name),t("dialog_codecs"),x("keydown",eQ),w("keydown",RJ)}function ZJ(){0"),h(jQ[CQ=0],"settings_value_focus"),h(jQ[0]+"_div","settings_div_focus"),DH(jQ[0]),l("dialog_settings"),w("keydown",OQ)}function PQ(){VH(jQ[CQ]),t("dialog_settings"),x("keydown",OQ),w("keydown",RJ)}function MQ(){0 '+e+f+f+""+(a?''+f+f:"")+'
'+f+f+(t?Ee:Z)+f+f+"
"}function HX(){if(kX()){GY[uX]&&sk.postMessage(GY[uX].replace("{width}x{height}",px)+Wx),GY.splice(uX,1);for(var e=0,a=GY.length;eQY[E]+cJ())&&wk(B[E].sorting,O.live_feed_sort.defaultValue)&&B[E].enable_mature===O.enable_mature.defaultValue&&wk(B[E].Lang,vH)||(e=!0),AW=v[0].name,!e&&NY[E]||TY[E]?PX()&&(HX(),xX(!0),tY()):oK(),aj("Side_panel_user_live")}function eY(){jA(UQ,TL?"scenefeed_background":"scenefeed_background_no_ani"),CA(UQ,"feed_screen_input")}function aY(){CA(UQ,TL?"scenefeed_background":"scenefeed_background_no_ani"),jA(UQ,"feed_screen_input")}function tY(){QY[E]&&iY((new Date).getTime()-QY[E])}function iY(e){IA(WQ,L+f+"("+Rs+ID(e)+")")}function oY(){aY(),pX=!0,zQ.style.transform="translateX("+_X+"%)",qQ.style.marginLeft="",w("keydown",CY),yX(),aj("Side_panel_main")}function nY(){return wk(zQ.style.transform,"translateX("+_X+"%)")}function sY(e){v[0]&&v[0].display_name.length,e&&(qQ.style.marginLeft="-"+_X+"%"),e=e?zQ.offsetWidth:zQ.offsetWidth-qQ.offsetWidth,zQ.style.transform="translateX(-"+(e/gh+hX)+"em)"}function lY(e){e||(sY(),wX(),qQ.style.marginLeft="",jA(KQ,"opacity_zero"),aY()),uY(e),x("keydown",AY),x("keydown",CY),T("fade_sidepannel")&&dY()}function dY(){A(rY,5e3)}function rY(){FQ.style.transition=pX?"":"none",UQ.style.transition="",FQ.style.opacity=0,UQ.style.opacity=0}function cY(){o(cX),FQ.style.transition="none",UQ.style.transition="none",FQ.style.opacity="",UQ.style.opacity=""}function uY(e,a){AX(e),e||(jA(HQ,a?"side_panel_hide_full":"side_panel_hide"),jA(JQ,"side_panel_inner_hide"),jA(QQ,"opacity_zero"),jA(XQ,"side_panel_dialog_hide"))}function fY(e){pY[e]&&(fX=pY[e]),hY(),fX&&fX<10&&h("side_panel_new_"+fX,"side_panel_new_icons_start")}var pY=[1,3,0,4,5,6,7,3,4,5,6,1,1,1,0,0,0,0,0,0,0,8,8,8,3,9,1];function hY(){for(var e=1;e<10;e++)n("side_panel_new_"+e,"side_panel_new_icons_start")}function _Y(){r.Sidepannel_IsUser=!0,d("side_panel_movel_user_text",f+Fo+f),l("side_panel_movel_user_text_holder"),l("side_panel_movel_new_8"),l("side_panel_new_8"),l("side_panel_movel_new_9"),l("side_panel_new_9"),l("side_panel_movel_new_6"),l("side_panel_new_6"),l("side_panel_movel_new_7"),l("side_panel_new_7"),d("side_panel_movel_new_2",Ro),d("side_panel_movel_new_4",$),d("side_panel_movel_new_5",At),d("side_panel_movel_new_6",re),d("side_panel_movel_new_7",Lo),d("side_panel_movel_new_8",qn),d("side_panel_movel_new_9",pu),vY("side_panel_new_2","arrow-left","font-size: 115%; position: relative; top: 2%;"),vY("side_panel_new_4","gamepad","font-size: 115%;"),vY("side_panel_new_5","movie-play"),vY("side_panel_new_6","filmstrip"),vY("side_panel_new_7","user","font-size: 115%; position: relative; top: 2%;")}function mY(){v[0]?gY(v[0].display_name):gY(Ge),t("side_panel_movel_new_8"),t("side_panel_new_8"),t("side_panel_movel_new_9"),t("side_panel_new_9"),l("side_panel_movel_new_5"),l("side_panel_new_5"),t("side_panel_movel_user_text_holder"),d("side_panel_movel_new_1",q),d("side_panel_movel_new_2",Fo),d("side_panel_movel_new_3",Z),d("side_panel_movel_new_4",Ct),d("side_panel_movel_new_5",$),d("side_panel_movel_new_6",At),d("side_panel_movel_new_7",xe),d("side_panel_movel_new_10",f+z),d("side_panel_movel_new_11",f+R),d("side_panel_movel_new_12",f+G),d("side_panel_movel_new_13",f+Oe),d("side_panel_movel_new_14",f+Ec),vY("side_panel_new_1","search"),vY("side_panel_new_2","user","font-size: 115%; position: relative; top: 2%;"),vY("side_panel_new_4","star","font-size: 115%; position: relative; top: 2%;"),vY("side_panel_new_5","gamepad","font-size: 115%;"),vY("side_panel_new_6","movie-play"),vY("side_panel_new_7","movie")}function gY(e){d("side_panel_movel_new_0",e+u+'
'+$o+"
")}function vY(e,a,t){a?d(e,'"):c(e,"")}var bY=0;function yY(e){var a="0";6QY[e]+cJ()&&(rK(e,5e3*a),a++)}function uK(e){return FY[e]}function fK(){return MY}function pK(){MY=!0,CA(PY,"user_feed_hide")}function hK(e){VK(e),_K(),B[N].LastPositionGame&&B[N].UpdateLastPositionGame()}function _K(){KK(!1),jA(PY,"user_feed_hide"),MY=!1}function mK(){B[N].show()}function gK(){vK(),zY||T("show_feed_player")||bK()}function vK(){o(IY)}function bK(){fK()&&(IY=A(hK,1e4,IY))}function yK(){TY[N]||B[N].loadingMore||(B[N].isReloadScreen=!0,zD(),vK(),aK())}function wK(e,a,t){JY[a]!==t&&(!e&&ZY[a]&&TL&&!WY?(ZY[a]=!1,WY=a===N,B[a].div.style.transition="",A(function(){ZY[a]=!0},RY)):B[a].div.style.transition="none",B[a].div.style.transform="translateX("+t+"em)",JY[a]=t)}function xK(){for(var e=0,a=hW+1;et+3&&(ZY[a]&&a===N&&TL&&!WY?LK(a,t,-3,0,-3,4,3,4,0):qK(a,t,-3,-3,5,3,4,0))}function GK(e,a,t){0t+4&&(ZY[a]&&a===N&&TL&&!WY?LK(a,t,-5,0,-5,5,5,5,0):qK(a,t,-5,-5,6,5,5,0))}function RK(e){VK(),SK(e)&&n($Y[0]+e+"_"+D[e],qY)}function FK(){d("icon_feed_refresh",'
'+f+L+":"+pn+f+f+'
'+f+bo+"
")}function UK(){wA("icon_feed_refresh","icon-refresh",L+":"+pn)}function HK(){wA("icon_feed_refresh","icon-refresh",L+":"+pn+Ds)}function JK(){wA("icon_feed_refresh","icon-refresh",L+":"+pn+Ts)}function QK(e){var a;gK(),!ZY[N]||TY[N]||(a=D[N]+e)>uK(N)-1||a<0||(RK(N),D[N]=a,IK(!1,N,e),B[N].AddCell(e,N,a),r.UserLiveFeed_LastPositionId[N]=YY[N][D[N]][14])}function XK(e){var a,t;gK(),ZY[N]&&(a=N+e,t=Cm(),a===cW||((t?hW:_W) '+a+"")}var AW="";function SW(){LZ(E-1),Cm()&&(kW(E,AW!==v[0].name),AW=v[0].name)}function kW(e,a){mS()&&!fK()&&pK(),a||!SK(e)||(new Date).getTime()>QY[e]+cJ()||B[e].offsettopFontsize!==T("global_font_offset")||!B[e].AddCellsize||B[e].CheckContentLang&&!wk(B[e].ContentLang,kx)||B[e].CheckSort&&!wk(B[e].sorting,O.live_feed_sort.defaultValue)||B[e].enable_mature!==O.enable_mature.defaultValue||!wk(B[e].Lang,vH)?TY[e]?fK()&&(KK(!0),B[e].div.classList.remove("hide")):aK():(B[e].div.classList.remove("hide"),IK(!0,e)),jW(e),B[e].Screen&&aj(B[e].Screen)}function jW(e){QY[e]&&d("feed_last_refresh",Rs+ID((new Date).getTime()-QY[e]))}function CW(){VK(),B[E].div.classList.add("hide")}function IW(){VK(),B[lW].div.classList.add("hide")}function PW(){LZ(lW-1),Cm()&&(mW(lW),kW(lW,!0))}function MW(){var e,a,t=p[v[0].id].live,i=(t.sort(function(e,a){return e.date>a.date?-1:e.date
'+tk(a[1])+'
'+a[3]+'
'+a[4]+"
"}function zZ(e,a,t,i,o,n,s){i[1]||(i[1]=i[6]);var l=document.createElement("div"),e=(l.setAttribute("id",$Y[3]+t),YY[e][a]=i,l.className="user_feed_thumb",""),e=s?n+Wx:i[0]?i[0].replace("{width}x{height}",hx)+Wx:"";return l.innerHTML='
'+(n||s?'
  VOD  
 ':'
')+i[1]+'
'+i[5]+'
'+tk(cee.parse(i[2]))+'
'+(""!==i[3]?ee+i[3]:"")+'
'+ie+i[11]+''+f+ae+i[4]+f+t4(i[13])+"
"+(o?'
'+zn+g4(o)+u+Gn+kD(o-(i[12]?new Date(i[12]).getTime():0))+"
":"")+"
",l}function GZ(e,a,t,i,o,n){var s=document.createElement("div");return s.setAttribute("id",$Y[3]+t),YY[e][a]=i,s.className="user_feed_thumb",s.innerHTML='
'+i[1]+'
'+i[5]+'
'+i[10]+'
'+(""!==i[3]&&null!==i[3]?wt+ee+i[3]:"")+'
'+Se+i[2]+'
'+SD(i[11])+'
'+i[4]+i4(i[13])+(o?", "+zn+g4(o)+f+Gn+SD(n):"")+"
",s}function RZ(e,a,t,i){var o=document.createElement("div"),e=(i[14]=i[2],o.setAttribute("id",$Y[3]+t),YY[e][a]=i,o.className="user_feed_thumb_game",i[3]?i[3].replace("{width}x{height}",_x):"");return o.innerHTML='
'+i[0]+"
"+(""!==i[1]?'
'+i[1]+"
":"")+"
",o}function FZ(){WS(iC,Bx,UZ,V,E,E,"POST",rR.replace("%y",B[E].cursor?', after: \\"'+B[E].cursor+'\\"':""))}function UZ(e){200===e.status?HZ(e.responseText):yW(E)}function HZ(e){var a=E,t=[];if((e=JSON.parse(e)).data&&e.data.currentUser&&e.data.currentUser.followedLiveUsers&&e.data.currentUser.followedLiveUsers.edges){B[a].dataEnded=!e.data.currentUser.followedLiveUsers.pageInfo.hasNextPage,t=e.data.currentUser.followedLiveUsers.edges,B[a].cursor=t&&t.length?t[t.length-1].cursor:null;for(var i=0,o=t.length;ia.stream[l][d]?1:0}:function(e,a){return e.stream[d]a.stream[d]?1:0}:l?function(e,a){return e.stream[l][d]>a.stream[l][d]?-1:e.stream[l][d]a.stream[d]?-1:e.stream[d]a-5&&0<=a-5&&(D[e]=a-5)}var XZ="";function YZ(){LZ(cW-2),Cm()&&(kW(cW,XZ!==v[0].name),XZ=v[0].name)}function KZ(){VK(),B[cW].div.classList.add("hide")}function WZ(){B[cW].loadingMore||mW(cW),ZZ()}function ZZ(){$Z(qx+"videos/followed?limit=100&broadcast_type=archive&sort=time&offset="+B[cW].offset+Fx)}function $Z(e){WS(e,HS(3,Rx+v[0].access_token),e$,V,cW,cW,null,null)}function e$(e){200===e.status?a$(e.responseText,cW):(!LY||401!==e.status&&403!==e.status||Im()&&C_(0),yW(cW))}function a$(e,a){var t,i,o=JSON.parse(e),n=0,s=FY[a],l=(o=o.videos).length;if(l)for(;na.date?-1:e.datea.stream[f][p]?1:0:0}):e.sort(function(e,a){return e&&a&&e.stream&&a.stream?e.stream[p]a.stream[p]?1:0:0}):f?e.sort(function(e,a){return e&&a&&e.stream&&a.stream&&e.stream[f]&&!a.stream[f]?e.stream[f][p]>a.stream[f][p]?-1:e.stream[f][p]a.stream[p]?-1:e.stream[p]=a&&(B[e].dataEnded=!0):B[e].dataEnded=!0):r$(e),FY[e]||wW(e),B[e].loadingMore?(B[e].loadingMore=!1,e===N&&sK(D[e],FY[e])):A(function(){QZ(e),lK(e)},25)}function r$(){}function c$(e,a,t){var e=JSON.parse(e),i=FY[a],o=e[t];if(a===dW)o=e.data&&e.data.user&&e.data.user.followedGames&&e.data.user.followedGames.nodes?o.user.followedGames.nodes:[];else if(B[a].isQuery)if(e.data&&e.data.games&&e.data.games.edges){B[a].dataEnded=!e.data.games.pageInfo.hasNextPage,o=e.data.games.edges,B[a].cursor=o&&o.length?o[o.length-1].cursor:null;for(var n=0,s=o.length;nB[e].MaxOffset)&&(B[e].dataEnded=!0)}var p$,h$=0,_$=0,m$=8,g$=0,v$=null,b$=1,y$=null,w$=!0,x$=!1,A$="",S$=!1,k$=!0,j$="";function C$(){p$=p$||[E2+"_thumbdiv_",E2+"_img_",E2+"_infodiv_",E2+"_displayname_",E2+"_cell_","user_scroll",E2+"_row_",E2+"_imgholder_",E2+"_title_"],Lm()?(r.Main_Before!==E2&&(b$=r.Main_Before),wA("label_thumb","icon-return",ue),wA("label_refresh","icon-user",Zo),d("label_last_refresh",""),r.Main_Go=E2,FA(),$R(W,Ko+" "+v[0].display_name),w("keydown",W$),(Gk()?zk:S$&&wk(j$,vH)?(eS(h$),l(p$[5]),T$(),u4):P$)(),aj("Users")):(r.Main_Go=B2,I$(),l4())}function I$(){wA("label_thumb","icon-options",hs),x("keydown",W$),t(p$[5]),wA("label_refresh","icon-refresh",L+":"+vt)}function P$(){Z4("stream_table_user"),t(p$[5]),OA(),FA(),Px=!(S$=!1),j$=vH,k$=!(h$=_$=0),zA(),CS(M$),aj("Users")}function M$(){var e=document.createElement("div"),a=m("stream_table_user"),t=1,i=0,o=document.createElement("div");o.setAttribute("id",p$[4]+"0_0"),o.classList.add("stream_thumbnail_user_icon_holder"),e.setAttribute("id",p$[6]+"0"),o.innerHTML='
'+Ge+'
',e.appendChild(o);for(var n=0;n
'+v[a].display_name+"
",t}function O$(){CS(function(){S$||(S$=!0,T$(),TA(),u4()),l(p$[5]),k$=Px=!1,x$&&(x$=!1,L$=Nm(A$),w$=!0,H$()),Ix&&cq()})}function T$(e){h(p$[0]+h$+"_"+_$,Hx),GA(_$,h$,LG,v.length+1),(aS(h$)||e)&&(1t?(a.command=e.slice(t),a):null;for(a.command=e.slice(t,i),t=i+1;32===e.charCodeAt(t);)t++;for(;t"}function nee(e){return e.replace(//g,">")}function see(e,a,t){for(var i,o=e.split(" "),n=0,s=o.length;n=o[n])return i[o[n]];return i[o[0]]}function ree(e,a){if(!a)return[e];var t,i,o,n,s,l=[],d=[];for(t in a)for(n=0,s=(o=a[t]).length;n= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=g-1,b=Math.floor,y=String.fromCharCode;function w(e){throw new RangeError(l[e])}function r(e,a){for(var t=e.length,i=[];t--;)i[t]=a(e[t]);return i}function c(e,a){var t="",i=(1<(i=e.split("@")).length&&(t=i[0]+"@",e=i[1]),(e=e.replace(s,".")).split("."));return t+r(i,a).join(".")}function x(e){for(var a,t,i=[],o=0,n=e.length;o>>10&1023|55296),e=56320|1023&e),a+y(e)}).join("")}function A(e,a){return e+22+75*(e<26)-((0!==a)<<5)}function S(e,a,t){var i=0;for(e=t?b(e/n):e>>1,e+=b(e/a);d*v>>1b((m-c)/n))&&w("overflow"),c+=l*n,!(l<(l=s<=f?1:f+v<=s?v:s-f));s+=g)n>b(m/(l=g-l))&&w("overflow"),n*=l;f=S(c-o,a=d.length+1,0===o),b(c/a)>m-u&&w("overflow"),u+=b(c/a),c%=a,d.splice(c++,0,u)}return h(d)}function f(e){for(var a,t,i,o,n,s,l,d,r,c,u=[],f=(e=x(e)).length,p=128,h=72,_=a=0;_b((m-a)/(d=t+1))&&w("overflow"),a+=(o-p)*d,p=o,_=0;_m&&w("overflow"),l===p){for(n=a,s=g;!(n<(r=s<=h?1:h+v<=s?v:s-h));s+=g)u.push(y(A(r+(c=n-r)%(r=g-r),0))),n=b(c/r);u.push(y(A(n,0))),h=S(a,d,t===i),a=0,++t}++a,++p}return u.join("")}e.punycode={version:"1.4.1",ucs2:{decode:x,encode:h},decode:u,encode:f,toASCII:function(e){return c(e,function(e){return i.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return c(e,function(e){return t.test(e)?u(e.slice(4).toLowerCase()):e})}}}(this);var cee=function(){var e={parse:function(e,a,t){return e&&"string"==typeof e?o(e=(e=a?e:e.replace(//g,">")).replace(/(\r\n|\n|\r)/gm,""),function(e){var a=i(e);return a?'':e}):e+""},parseIcon:function(e){return e?o(e,function(e){var a=i(e);return a?"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/"+a+".png":e}):""},replace:o},t=/(?:\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,s=/\uFE0F/g,l=String.fromCharCode(8205);return e;function i(e){for(var a=e&&(e.indexOf(l)<0?e.replace(s,""):e),t=[],i=0,o=0,n=0;n',ah='',th='
',ih="",oh="",nh="",sh="",lh="",dh="",rh="",ch="",uh="",fh="",ph="1DuhCT6L3VfBtFcS8FNfVXgBzE2rwCPx3x",hh="https://tinyurl.com/applag",_h="https://github.com/fgl27/SmartTwitchTV",mh="https://github.com/fgl27/SmartTwitchTV/releases";function gh(){ve=e+ve+e,Fe=e+Fe+e,He=e+He+e,aa=e+aa+e,ma=e+ma+e,Qa=e+Qa+e,$a=e+$a,Ns=e+Ns+e,uf=e+uf+e,K+=e,ee+=e,ae+=e,te+=e,ec+=e,ie+=e,de+=e,Se+=e,ke+=e,Xc+=e,_a+=e,va+=e,Xa+=e,ni+=e,ut+=e,ht+=e,_t+=e,wt+=e,kt+=e,It+=e,di+=e,ri+=e,ui+=e,Ti+=e,xo+=e,Bu+=e,Nu+=e,du+=e,gn+=e,vn+=e,yn+=e,wn+=e,dl+=e,Dn+=e,En+=e,Bn+=e,gs+=e,Rn+=e,Un+=e,is+=e,Zu+=e,Lr+=e,Fs+=e,hl+=e,Ol+=e,Tl+=e,vc+=e,wc+=e,Ac+=e,Ou+=e,xt=e+xt,$s=e+$s,Zs=e+Zs,fe=e+fe,dc=e+dc,ye=e+ye,we=e+we,Ae=e+Ae,Ce=e+Ce,je=e+je,Ne=e+Ne,qe=e+qe,Ge=e+Ge,Re=e+Re,Je=e+Je,ia=e+ia,oa=e+oa,na=e+na,sa=e+sa,la=e+la,ya=e+ya,Ya=e+Ya,Ka=e+Ka,Wa=e+Wa,Za=e+Za,nt=e+nt,rt=e+rt,vt=e+vt,Dt=e+Dt,ro=e+ro,fi=e+fi,pi=e+pi,hi=e+hi,Ni=e+Ni,_n=e+_n,uo=e+uo,mn=e+mn,br=e+br,Cr=e+Cr,ll=e+ll,pl=e+pl,bc=e+bc,tf=e+tf,of=e+of,nf=e+nf,cf=e+(cf=e+cf),Qe+=u,_||(ca=Cf),Ua=vh("https://github.com/fgl27/SmartTwitchTV#authorization",Ua,!0),fh=f+fh,ih=z+" (C)",oh=q+" (D)",sh=G+" (A)",nh=R+" (A)",J+=xt,X+=xt,va=va+vt+(co=f+co)+Zs,ue=Mi,Jp='
'+f+so+u+f+'
'+f+f+bh("http://tiny.cc/help27")+f+"
",Qp='
'+f+Ls+u+f+'
'+ph+f+'
',Xp='
Pix donations key (For Brazilians only)'+u+'
'+bh(Kp,"mailto:")+"
",Cs=Zp+Is+"
"+$p+Wp+Ps+u+Wp+Ms+u+Wp+Vs+u+Wp+Os+u+Wp+el+u+Wp+Ts+u+""+Zp+Ds+"",lh=Zp+z+""+$p+Wp+li+u+Wp+Ln+u+Wp+ga+u+Wp+va+u+Wp+ba+u+Wp+Ei+u+Wp+ya+u+Wp+wa+u+Wp+xa+u+""+Zp+pa+""+(fh=$p+Wp+Ta+u+Wp+Ma+u+Wp+Va+u+""+$p+Wp+Oa+u+Wp+cl+u+Wp+Da+u+Wp+Ea+u+Wp+cn+u+Zp+ha+""+$p+Wp+Ba+u+Wp+Ra+u+Wp+Na+u+Wp+La+u+Wp+qa+u+Wp+Ga+u+Zp+Ao+""+$p+Wp+Ws+u+Wp+el+u+Wp+So+u+Wp+No+u+Wp+ko+u+Wp+Co+u+Wp+Io+u+Wp+Po+u+Wp+Do+u+Wp+Mo+u+Wp+jo+u+Wp+Vo+u+Wp+Oo+u+Wp+To)+u+Zp+ca+"",dh=Zp+z+""+fh+u+Zp+ca+"",uh=Zp+Xs+""+u+id+u+Qs+u+u+th+hh+""+u+u+Ys+u+u+Zp+ca+"",Hp=Zp+ka+""+eh+bh(Kp,"mailto:")+""+u+u+eh+bh(_h+"/issues")+""+ip+u+u+Jp+Qp+u,rh=Zp+ra+"",ch=u+u+Aa+u+Sa+(_?"":u+th+Si+"")+Hp+Zp+Ia+""+Pa+u+eh+bh(mh)+""+u+u+ja+u+eh+bh(_h)+""+u+u+Zp+Ca+""+eh+bh("https://tinyurl.com/sttvdependency")+""+u+u+Zp+ca+"",Of=qi+Tf,Uf=Qf+f+f+ah+bh("https://github.com/Kwabang/K-Twitch-Bypass")+"
",Hf=Qf+f+f+ah+bh("https://github.com/onTDB/T1080")+"",Ef=Qf+f+f+ah+bh("https://ttv.lol/donate")+"",Yf=[Rf,Df,Ff,ei],tp=[ei,ep,ap],Lp+=Pn}function vh(e,a,t){return t?a.replace("%x",eh+bh(e)+""):a.replace("%x",ah+bh(e)+"")}function bh(e,a){return''+e+""}function yh(){Dx=!1,bQ=14.5,co="or press key 2",Zs="or media key next track",L="Refresh",q="Search",G="Settings",z="Controls",R="About",U="Hide",F="The text you entered is empty",H="The search result is empty",J="Switch screen",X="Switch user screen",Q="Switch: VODs or highlights",Y="Switch: Period (24h, 7d, 30d, all)",K="Go to screen",W="User",Z="Live",$="Games",ee="Playing",ae="for",te="Watch time",ec="Wait time",ie="Since",oe="A Game",dp="Type your password...",ne="Type your search ...",se="Type your authorization key ...",le="Type your username and press Enter ...",de="Press Enter or Select key to,",re="Channels",ce="Channel",Mi="Back to the previous screen: Press return",fe="has ended",Vd=", checking host",pe="This video is only available to subs",dc="is sub-only content.",Tf=", navigate to the side panel (Top option) Add User or User: Switch, add, key, press enter on the user",he="Connection failed or there is no content for this. Refresh to try again",_e="Connection failed or there is no content for this. Press enter to Refresh",Vp="Connection failed or there is no content for this language. Change content language (hold left) or Press enter to Refresh",ve="for this",be="Connection failed, unable to load video content, exiting ...",ye="VODs",we="Highlights",xe="Clips",Ae="Content",Se="Streamed",ke="Duration",je="View",Ce="Views",Ie="Viewer",Pe="Viewers",Me="Click again to exit",fo="Click again to exit picture in picture",Ss="Click again to exit multistream",Ve="Do you want to exit SmartTV Client for Twitch?",Oe="Exit",Tc="Changelog",Dc="Full changelog",Ec="These are just the latest changes, to read the full changes, check out the link below:",Bc="Click to Update",Nc="Check for Updates",Rc="Checking for Updates ...",Uc="Update check failed",Fc="The app is up to date",Lc="Updates & Changelog",qc="Latest change:",Gc="Update process failed, please try manually!",zc="Update process failed to download the APK, please try manually!",Hc="APK Update available",Jc="Web Update available",Qc=", check the side panel for updates",Xc="Last checked:",Yc="Updates options",Kc="Check for updates in background",Wc="Show the updates dialog when updates are available",Zc=["Yes","Only a toast message",ge="No"],$c="Update process started. This may take a few seconds, please wait!",eu="If Play Store doesn't show the update, try again after a few minutes!",au="You need APK version 3.0.303 or newer to be able to use this, please update the old way!",tu="App updated successfully",Te="Close",De="Minimize",Ee="Cancel",Be="Rerun",Ne="Channels live",Le="Hosts",qe="Games live",Ge="Followed Channels",Go="My Channel",ze="Add User",Re="Remove User",Ue="User doesn't exist",Fe="hosting",He="hosted by",Je="already set",Xe="Switch to",Qe="First user can (when providing a key) follow and see live channels feed outside of the user screen",Ye="Add a Twitch user to display its Followed Channels content here",Ke="24h",We="7d",Ze="30d",$e="all",ea="Jumping",aa="to",ta="Jump Canceled",ia=", jump time bigger than duration",oa="Sec",na="Min",sa="Ms",la="Hr",da="Source",ra="SmartTV Client for Twitch",ca="Press return or enter to close this",ua="Press return to close this",fa="Press return to show the update dialog or enter to close this",pa="Player related:",ha="Chat related:",jn="Show chat",_a="Currently installed version",ma="latest available version",ga="Play a video: Navigate using (up/down/left/right) D-pad, press enter, play/pause, preview track media keys or key 1",va="Refresh screen content:",ba="Exit the application: Click exit in the side panel",Ei="Force close the application: Hold return until it auto force closes",ya="Switch screens: Press return, then up/down D-Pad or "+(xt="PG up/down")+" "+($s="or fast forward rewind media key"),wa="Start a search: In the side panel, click search, type in your query, and press enter on the virtual keyboard, then choose one of the searching options",xa="About this application: Click about in the side panel",Aa="This is an Android TV Twitch Client, released for free to anyone who wants to use it.",Sa="This app has no affiliation with Twitch, this is a user-made app, but is only possible because Twitch provides all the API that allows the app to show the Twitch content.",Si="This version of the app is only for testing in the browser!",ka="Contact information:",ja="This is an open source application licensed under the GNU General Public License v3.0, check it out on GitHub:",Ca="To see the application dependencies use the link:",Ia="Phone and tablet support:",Pa="It is possible to use this app on phones and tablets, but this app is designed to be used mainly on TVs. Support for other devices is limited, and because of that, it is not released on the Play Store. Use the link below to download the latest APK and manually install the app on a phone or tablet:",Ma="Show the information panel: Press enter or D-pad keys if the chat and the live channel feed aren't showing",Va="Close the video: Press return twice or the stop media key",Oa="Pause/play a video: Open the information panel and click on the pause icon",Ta="Show preview feed: Up D-pad",Da="Change video quality: Choose the 'Quality' option at the bottom of the player",Ea="Force refresh a video (in case it freezes): Change video quality to the same",Ba="Show or hide the chat: Down D-pad or key 3 "+(fh="or in the controls at the bottom of the player"),Na="Change chat position: Left D-pad, PG up or the rewind keys (VODs and clips only) "+fh,La="Change chat size: Right D-pad, PG down "+fh,qa="Change chat background brightness: Change in the controls at the bottom of the player",Ga="Force refresh the chat in a live (in case it freezes or doesn't load): Choose the 'Chat force disable' option at the bottom of the player (click twice)",za="Start a search: Open information panel, navigate using use Directional pad (left/right) to 'Search' and press enter",cn="All media keys are supported (play, pause, stop, next track, fast forward etc ...), some are used as shortcuts for audio and video mode changes",Ra="Chat and video (side by side): Key 2 or the fast forward media key. It also switches between the picture in picture and the 50/50 mode",Ii="Force disable chat",Ua="Adding a key allows the app to access chat using your user to send messages and get your emote list (enables you to be gifted subs given in chat), follow/unfollow channels, and access some user content faster.

Adding a key is not demanding and can be done at any point later.

In doubt read the contents of this link:

%x

For some devices, a mouse is necessary to complete the authorization action as you may need to manually click on a button to confirm certain actions.

Add a key for",Fa="Add an authorization key",Ha="Key added successfully",Ja="Key test failed, new one needs to be added",Xa="You try to add a key for user",Qa="but this key is for user",Ya="Following",Ka="Not Following",Wa="and you haven't added an authorization key, so the app can't check your sub status.",Za="and you aren't a sub of this channel",$a="You are a sub of this channel, but an unknown issue has prevented this from playing.",et="Failed authorization check with the provided key, please check and try again",ni="The added key doesn't belong to the user",at="No user",tt="Set user and an authorization key to be able to follow/unfollow",it="Third party apps can no longer follow/unfollow channels (The button can only show if you follow)",qi="Set a user and authentication key to be able to see the followed content",ot="Restart the",nt="Clip",st="Channel content",lt="Network is disconnected. The application can't work without INTERNET.",dt="Network connection reestablished",rt="Followers",ct="Follower",ut=", Can't follow or unfollow",ft="Game content",pt="Yes",ht="Are you sure you want to remove the user",_t="Press Up to",mt="Followed Live Games",gt="Change between",vt="Hold enter",bt=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"],yt=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wt="Started",At="Videos",St="Replay",kt="exiting in",jt="Press 'Return' to exit",Ct="Front Page",It="Created",Pt="Open the VOD",Mt="Open the Last VOD",ef="Is now live",Mu="Show 'Streamer is live' warning",Vu="When watching a clip or a VOD, the app can check when a streamer is live. If this is set to YES, a warning will show. To open the live, just use the controls at the bottom of the player.",$r="Click to open chat and/or wait to be back live",Rr="Stay on the stream",Ur="Stay on and recheck to see if it comes back live",Fr="Check if stream is live in:",Hr="Checking if is live ...",Jr="Last result:",Xr="The stream was offline",Vt="No VOD",Ot="There are no VODs for this clip",Tt="and because of that no chat",Dt="is now",Et="Open the Hosting",Bt="Player related",Nt="Start buffer size:",Lt="Controls start buffer size",qt="How much is needed to buffer before starting the playback. This is not related to the maximum size that the buffer can reach (the maximum buffer size is based on the amount of RAM on the device). A lower value here will cause the playback to start sooner and that is always recommended. Changing this value to a bigger value will in most cases not cause any improvements, but rather setbacks.",zt="Videos (past broadcasts and highlights) start buffer",Rt="Clips start buffer",Ut="Language",Ft="Chat: Connecting to",tl="Connecting timeout, Failed to log ...",il="Chat: Connected",uu="Message sent, but chat delay is enabled, so the message will show up in chat after.",lo="Chat: delay",Ht=(jr="Play from the start or from where you stopped watching the")+" VOD?",kr=jr+" LIVE?",Xt=(Jt="From:"+u)+"Start",Qt="Chat: The Chat has ended!",Yt=", Most recent",Kt=", Most views",Wt="Add a user authorization key to be able to see followed videos",Zt="Switch: Most recent or views",ou="Enable",$t="Enabled",Ad="Dark mode",xd="Bright mode",_i="The app was closed while playing, restoring the playback",ai="Restore playback",ti="The app saves what it was playing in case it gets closed unintentionally. Changing apps may cause the system to run out of memory and close it, in this case, on the next startup, the app restores what was previously being played.",ii="Chat font size",si="Video animated thumbnails",td="When a VOD or a highlight is selected, animate the thumbnail if an animated thumbnail is available for that video (not all videos have one).",li="Side panel: Press left D-pad or return",di="Size",ri="Brightness",ci="Forbidden content, this is restricted in your region or restrained to the official Twitch app.",ui="Jump step",ro="second",fi="seconds",pi="minute",hi="minutes",mi="Clock offset",Ic="Adjust main app clock in relation to your choosing.",gi="Content language",vi="The language of the content on the screen, lives, VODs, clips.",bi="Application language",yi="The language of the app's text.",wi="Press enter to access",Ai="Can't get game from this",Sr="Empty",ki="Isn't possible to jump during buffering",ji="Chat is force disabled, enable it with the 'Chat force disable' option at the bottom of the player",Ci="This clip/video failed to load. Can't replay",Pi="Chat background brightness",Vi="Play Next",Ti="Playing next in",Oi="Play All",Di="Auto play next clip",Bi="Back to main menu",Ni="Press up",_n="Hold UP or key 2",Li="Live Feed",Vr="VOD start dialog",Or="When playing a VOD saved on the user history, you can choose the default behavior of the VOD dialog. Setting it to 'Always from the start' also applies to the VOD preview.",Tr="Always from the start",Dr="Always from the last stop",Er="Always ask",ar="Player end dialog options",Gi="Player end dialog timeout",zi="When a live/VOD/clip ends, a dialog shows with an option for what to do next. Set the time (in seconds) that it'll take for the default option to take action.",Ri="Disable the timer",Ui="Chat size",Fi="Chat position",Yi="Video mode",Bo="Big plus small screen",Ji="Side by side, video and chat",Eo="50/50 and chats",Xi="Speed",Qi="Quality",Ki="Normal",Wi="Auto",eo="Very low",ao="Low",to="High",io="Very high",oo="Thumbnail quality",no="Default thumbnail resolution for lives, videos and games (can't be applied for clips). A lower value will help the app load faster, but the thumbnail may look blurry.",so="Paypal donations, use the link or QR code:",Ls="Bitcoin donations, use the wallet address or read the QR Code:",uo="Connection failed, unable to load stream info",po="Player restart",zu=["Small","Big",bs=xi="All"],su=[bs,"Top left","Top right","Bottom left","Bottom right"],lu=[bs,"Top","Bottom left","Bottom center","Bottom right"],yo="Unlimited",_o="Allows to set max Resolution/Bitrate used by Auto quality playback",mo="This is used to prevent lag on low-end devices when playing multiple videos at the same time (most devices will lag by skipping frames in that situation, as they are only made to play a single video). Also helps limit the internet bandwidth use in case you need a limit that also sets the 'Default player quality' to auto quality. The recommended resolution/bitrate for all small players is 720p/3 Mbps and unlimited for main or big players for most low-end devices.",bo="Different values here for main and small player resolution and or bitrate may cause a short buffering/loading when changing it with the main player in picture-in-picture mode (pressing down will change the players). To prevent this, set both values to the same at the cost of possible lag. The best indication of too high of a bitrate is a constant accumulation of skipped frames or a constant buffering of the stream.",go="Bitrate - "+(vu="Main player, for the big player of the picture in picture or the Top player 50/50"),vo="Bitrate - "+(yu="Small players, for the small player of the picture in picture mode and all multistream players"),bu="Resolution - "+vu,yu="Resolution - "+yu,fu="Blocked resolutions",pu="Allows to block one or more resolutions from ever being used",hu="When using auto quality, it's possible to block one or more resolutions from ever being used. This is useful for devices that lag playing at a particular resolution. As clips can't be played in auto mode, this will also block the automatic part of this resolution in a clip.",_u="The user can overwrite the selection manually during the playback.

XX means that all resolutions starting with same value before the XX will be denied from being used if that resolution is marked as blocked.",mu="Blocked",gu="Not blocked",xo="Audio source",Lu="Audio & Volume controls",Du="Audio enable all",Gu="All audio sources enabled",Eu="Volume all to 100%",qu="All player volume set to 100%",Bu="Volume -",Nu="Audio -",Zi="Default player quality",$i="This option will override all others when playing a single video. In multi-player modes, the playback needs to use auto quality. The reason for this can be found under the settings option '"+(ho="Auto quality maximum allowed Resolution/Bitrate")+"'.",Ao="Picture in picture, 50/50 or multistream (for lives only):",So="Enable picture in picture mode: Press up when playing a video. To show the preview feed, choose a stream, then hold enter or press key 1 to start",ko="Change video content: If in multiplayer mode, always single-click from the player preview. If on picture in picture or 50/50, a single click updates the big or top video, and holding enter or pressing key 1 updates the small or bottom video",Co="Change content between videos (only picture in picture): Down D-pad. Big becomes small and vice versa",Io="Change small video position (only picture in picture): Left D-pad",Po="Change small video size (only picture in picture): Right D-pad",Mo="Change audio source: Choose the 'Audio source' option at the bottom of the player. If in 50/50 or multistream, use left/right D-pad. If in picture in picture, use previous/next track media keys",jo="Change audio source for all videos: Hold down D-pad.",Vo="Player restart: Choose the 'Player restart' option at the bottom of the player. This will only restart the players, which is useful fpr syncing the player and the chat. This will not sync one player's content with another's",Oo="Manually sync players: The workaround is to choose the 'Speed' option at the bottom of the player to slow down the stream that is in front or vice versa. Only works for picture in picture mode",To="Picture in picture video quality: Check the in-app '"+ho+"' settings",Do="Close small or bottom video (only picture in picture): Pressing return twice will exit picture in picture or 50/50 mode",No="Enable 50/50 mode (two streams and two chats): If picture in picture is enabled, press key 2, the fast forward media key or use the 'Video mode' option at the bottom of the player, or if already in its 'Side by side' mode, hold enter over a tile in the preview feed",Ws="Enable multistream: Use the controls at the bottom of the player or the rewind media key",Zr=["When player info is visible","Always visible","Never visible"],Lo="Single return press",qo="Exit the player, picture in picture, 50/50 or multistream mode with a single key return click.",Zl="Notification options",zo="Show 'Streamer is live' notification for followed channels",Vc="Show 'Streamer changed title' notification for followed channels",Oc="Show 'Streamer changed game' notification for followed channels",Mc="Show 'Game is live' notification for followed games",fl="Notification over other apps when the app is running in the background",qr="If you disabled notifications for this app in the system settings, this feature won't work. If the app notifications are already running and you exit the app, the notification will show over other apps, even if this is disabled.",Yr="Number of times an individual notification in shown",Kr="The individual notification timeout is around 3 seconds, and can't be changed, because this timeout is controlled by the system, but you can set the number of times the same notification shows with this option.",sc="Prevent showing 'Streamer is live' notification for streams that are live for over",lc="This is useful to prevent the app showing a long list of notifications when the app is not used for some time, for example when you turn off the device, or for when the screen is off (the app will not show notification in case the device is on but the screen is off).",Ro="Global app font size offset",Uo="This will change the size of all text and most icons in the app (minus chat font size, because it has its own control), too small value may not be visible too big value will overflow the text box holder, that is way this value is limited, changing this will refresh all screens.",Fo="Main Menu",Ho="User Menu",Jo="Is offline",Qo="Rounded channel images",Yo="As most channel images are squares, some images may not look great.",Xo="Hide Position/Total counter",Td="There is a position counter that informs the current position, and the total loaded content on screens that have playable content. As you scroll, more content will load, and the total gets updated.",Ko="Switch: Starting Position offset",Wo="Instead of starting at the first possible video, start a a lower position on the list, so there is no need to go lower down to find an older video.",$o="Choose an option for user",Zo="Main user",en="Click on a user to see options",an="User: Switch, add, key",rn="If you start getting buffer issue, disable "+(tn="Low latency")+"
Use "+(Gt="Lives start buffer")+" equal or below 1 for this to have effect",Cc="Games Preview sorting",on="Side panel or player preview sorting",nn="Sorts side panel live feed and player preview. On the preview, this only applies to the user's live and front page (all non-history are view based, history is last watched first, and VOD is the most recent).",sn="Alphabetical A - Z",ln="Alphabetical Z - A",dn="Enable app animations",ad="Enables side panel, scroll and related animations.",ed="Customize interface, color style, animations and related",Sc="Customize content, sorting, auto refresh, timeouts and related",me="Hide the side panel after 5 seconds of not using it",un="App running for:",fn="Unable to get video link",du="Press enter to change to -",pn="(Press enter to unfollow)",hn="(Press enter to follow)",mn="Today",gn="Skipped Frames:",vn="Buffer Size (Sec):",yn="Net Activity (Mb):",bn="Net Speed (Mb):",wn="Latency To Broadcaster (Sec):",cu="Based on "+(ru="Latency To Broadcaster"),dl="Ping to Twitch (Ms):",Dd="Warnings",xn="Welcome to",An="This application has a lot of features and was designed to give the user full control of it, because of that it has many options, controls and customizations. Check the app settings and controls to understasnd how to use it. In doubt, check the Play Store demonstration video, if still unsure, use the contact info.",Sn="Cellphones warning",kn="This app is designed to be used mainly on TVs, the support for other devices is limited and may never receive a better support. If you don't have a keyboard or a D-pad + enter and return controller (ESC works as a return on a computer), use the virtual on-screen keys to navigate (only visible on phone/tablet devices). In settings you can change the position and the opacity of the virtual D-pad, click anywhere on the screen to show the virtual D-pad. When it's hidden, it doesn't work.",Cn="D-pad screen position",In="D-pad opacity",$l="D-pad options",Dn="Max resolution:",En="Max bitrate:",Bn="Max level:",Nn="Max fps per resolution:",gs="Max instances:",vs="Unknown",Ln="User live side panel: Left D-pad from the side panel or key 3 from anywhere",qn="Multiplayer, PP and preview mode workaround",Gn="For some devices, it is necessary to enable this to have multiplayer mode working properly. The issue is usually that one of the two players becomes a black screen. Don't enable it if you don't have issues, as it will cause lower image quality and poor performance.",zn="History",Rn="Watched on",Un="until",Fn="Sorting",Hn="Delete this history",Ku="Automatic delete unreachable content",Wu="If this is set to YES, the app will automatically remove VODs and clips that are unreachable (Have been deleted by the streamer/creator) from the history",Jn="Name A - Z",Xn="Name Z - A",Qn="Game A - Z",Yn="Game Z - A",Kn="Most views",Wn="Least views",kc="Highest channel quantity",jc="Lowest channel quantity",Zn="Most recently watched",$n="Oldest watched",es="Press enter to delete",as="This live is now a VOD
opening the VOD from where you last stopped watching the live:
",ts="Allow the app to make and restore backups?
(Users and their history will be backed up)

If you click Yes, the app will save backups for future use, and restore a saved backup if app data is empty.Is necessary to give the app storage permission for this, so give before click yes.

If you don't give storage permission, no backups will be ever made.

The Backup folder path is Main_Storage/data/com.fgl27.twitch/Backup",is="Are you sure you want to delete all",os="Created / Uptime newest",ns="Created / Uptime Oldest",ss="Thumbnail Options",ls="Enable live history",ds="Enable VOD history",rs="Enable clip history",cs="Open the game",us="Open the channel",fs="Press enter above an action (to open or apply it), return to exit without applying",hs="Delete this from history",ps="Checking follow status ...",_s="Refresh the screen after deleting to see the change.",ms="Hold left for thumbnail options",ys="Choose with to replace by the above?",ws="Press enter to replace or return to exit without.",xs="Already playing this",As="Unable to open preview",$u="Picture in picture mode",Zu="Your device only supports %x codec instances (player playing) at the same time, can't use",ks="Ended and/or empty",js="4-way multistream",Is="Multistream help:",Ps="If you are having lag issues after enabling multistream, try lowering the value of 'Small player bitrate' in settings, accumulation of skipped frames or constant buffering is an indication of too high bitrate or too slow internet",Ms="Add streams: open preview feed key up and click on a live",Vs="Replace streams: after multistream is full, choose one from preview feed and choose one to replace from the dialog",Os="Change audio source: D-pad right or left or media keys next previews track, hold down to audio source all videos",Ts="Exit multistream: Press return twice or exit through the option at the bottom of the player.",Ds="To close this, open 4 lives",wo="Picture in picture: Hold enter or press key 1, after use D-Pad left to move, right to resize or down to change videos",Bs=", Click on a thumbnail to open or replace a stream, use D-pad left/right to change audio source",Es=", Press return to go back to top menu",Ns="Press return to go back to",pr="Show preview on the live screens",_r="Starting playback from where it last stopped:",hr="Show preview on the VOD screens",gr="Show preview on the clip screens",Ar="When a clip preview ends, automatically switch to the next available clip.",nr="Show preview on the side panel",qs="Show preview on the player preview thumbnails",Pd="If you don't want to, or your device lags when more than one player is active, set this to NO.",Gs="Disable preview when multistream is enabled",Md="For performance reasons, some devices may lag with multiple players. If yours is fine for multistream, but lags when the preview player and a multistream are active, set this option to NO.",vr="Preview failed to load:",br="unreachable",Cr=", this VOD may have been deleted",mr="Preview video has ended",yr="Player unable to play due to a network connection issue",wr="Player unable to play due to player error",xr=", try to lower small player bitrate value in settings",dr="Player preview size",rr="Set the size of the preview player the small preview player that show when pressing up when a Live, VOD or clip is open.",cr=["Small","Medium","Large","Extra large"],Nr="Screen preview size",Lr="Set the size of the preview player that show above the main app screens.",Kf="Screen preview volume",Wf="Set the volume of the preview player that show above the main app screens and side panel.",Br=["Thumbnail size","Larger"],zs="Preview delay",Rs="Set the delay time that the preview will take to start loading after a thumbnail is selected. This helps with slow devices which lag when scrolling.",ur="Player Preview volume",fr="Set preview player volume, the small preview player that show when pressing up when a Live, VOD or clip is open.",sr="Main player volume (When preview is showing)",lr="The main player (all picture in picture players, multistream players) volume can be lowered when the preview player is showing.",Wl="Preview thumbnail player settings",Us="Always start the app in the user screen",od="This option disables the 'Restore playback' option, but allows you to choose the user upon opening the app.",Fs="Last refreshed:",Hs="Exit picture in picture or multistream to open this VOD",Js="Show 'an accessibility service is running' warning",id="If the device has an accessibility service enabled, the app will show a warning. It's a known android issue that accessibility service can lag some devices and cause freezes or lags on this app.",Xs="Accessibility service(s) detected",Qs="Read more on this link:",Ys="If you have freezes or lag related issues, close this app and disable all accessibility services, after that, all issues will be gone.
To not show this warning ever again, disable it in settings.",Ks="Auto refresh timeout",nd="When this is enabled, the app will auto refresh a screen or a preview thumbnails screen, the refresh happens only when the screen is selected. If you want a refresh in the background, enable the below option.",ic="Auto refresh in the background",oc="When 'Auto refresh timeout' is set and this is enabled, the auto refresh will happen in the background (but with the app visible, android doesn't allow to run unrestrictedly in the background in order to avoid lagging other apps). When the screen is not visible or when you go back to a screen that the refresh didn't run before, be careful, because if the app has too many screens when this option is enabled, the auto refresh may cause random lag on some low-end devices.",al="Main video",el=(ol="Multistream main video")+" bigger and chat: Press the down key and after that use the left/right keys to change the big video",ac="Automatically change player quality from Source to Auto when the player lags",tc="When enabled, and not using auto quality, the player will switch to auto quality and warn about it if the player is lagging. A Player lag is when the player is unable to play for a few seconds (the algorithm is more complex than just time), if you play something else it will go back to the original quality.",nl="Player is lagging, quality changed to 'Auto mode'",rl="Player is lagging, quality was lowered",sl="Preview, stream ended"+(ll="or too many errors"),cl="Forward or rewind (only for VODs and clips): Use the left/right D-pad or the fast forward/rewind media keys",ul="A portion of this is muted as it contains copyrighted content, indicated by the darker colored portions on the play bar",pl="has gifted you a sub!",Od="Anonymous",hl="You are permanently banned from talking in",_l="Write to chat",Tu="Chat extra settings",ml="When this is selected, press enter to show onscreen keyboard. If you have a physical keyboard connected, press return or esc to hide the onscreen keyboard",gl="Chat ROOMSTATE:",vl="No restrictions",sd="Options",yl="Delete all",Bl="Unicode Emoji",wl="Twitch emotes",xl="BTTV global",Al="BTTV streamer",Sl="FFZ global",kl="FFZ streamer",jl="7TV global",Cl="7TV streamer",Il="@streamer",Pl="In Chat expected result:",Ml="Send",Vl="This emote list is empty",Ol="Chat is in Followers-only mode, and you are not a follower of",Tl="and you have only been following for",Dl="Twitch Emote-only mode",El="Choose which chat to write to or press return to close this",Nl="Write to chat options",Ll="Software Keyboard auto hide",ql="Allows to control the behavior of the on-screen software keyboard. If you have a physical keyboard connected, use it, if not, set to never",Gl="Never",zl="If Keyboard detected",Rl="Always",Ul="Emotes sorting",Hl="If this is disabled, the lists of emotes will be shown in the order, provided by the server.",Jl="Force show chat",Xl="If you want to see the chat when write to chat is used, enable this",Fl="Add a user authorization key to be able to log and write to chat",Ql="Chat not ready to send! Try again is a second or two.",Yl="Redeemed highlight My Message",Kl="Redeemed send a message in sub-only mode",bl="Chat options",vd="Highlight messages from the streamer (Dark pink background)",bd="Highlight messages from moderators (Dark cyan background)",yd="Highlight reward messages (Purple background message only)",ld="Highlight @streamer messages (Dark red background, the '@' is blue)",dd="Highlight your @username messages (Dark Green background, the '@' is blue)",rd="Highlight your sent messages (Dark Green background)",cd="Show sub messages in chat (Dark orange background)",ud="Highlight bits messages (Dark Yellow background)",fd="Show Action messages (usually from stream bots)",pd="These messages are usually equal to sub messages, but sent via a stream bot, so if you have 'Show sub ...' enabled, it's redundant.",hd="Background color difference between individual messages",_d="Modes are 'disable', 'enable' (auto mode), Bright or Darker. In auto mode, if the chat is above the stream, the odd message will have a darker background accent color from the even. If the chat is not above (side by side for example), the color will be bright.",wd="Insert a line to separate individual chat messages",oi="Animated scrolling when adding a new chat message",md="Logging in the chat with the current user",gd="The app will always log to chat using the current user when an authorization key is provided, unless chat is disabled within the controls at the bottom of the player, but if this option if set to NO, it will prevent logging using current username, and will instead log as anonymous, even with a provided authorization key. This doesn't prevent from sending chat messages for this user, if a key was added, but does prevent from knowing if you are banned in the chat and prevents from seeing the chat's ROOMSTATE.",_f="Block bots and bot commands (!command) from show in chat",Wr="Show message timestamp",Sd="Readable nick colors",kd="Instead of using the default nick color that sometimes can't be readable on a dark background, use a custom easily visible color.",ir="Clear chat, delete user messages",mc="This single user message was requested to be deleted",gc="All messages from this user were requested to be deleted",vc=", they've been timed out for",or="Delete chat messages from a specific user (typically after they've received a timeout or ban). Deleted messages will always have a blue background, the message will be deleted if this is set to yes, if not, only the background color will change.",jd="Always open the hosted live at the end of the stream if available",Qr="Always stay with the player opened after a live ends",Cd="Show 'Ping to Twitch fail' warning",Id="The app constantly checks the connection with Twitch via a ping. If it fails too many times, a warning will show. If you believe this warning is showing unintentionally, set this option to NO.",Ed="Key hold timeout (in milliseconds)",Bd="How long you need to hold a key for until a hold action happens. Actions such as refresh the screen, show thumbnails options etc.",Nd="Current focus style",Ld="New focus style",qd="Press up/down to select an option, press return to exit this, press enter on 'Apply changes' to confirm before exiting.",Gd="Shadows",Ud="None",Fd="White",Hd="Gray",Jd="Black",zd="Colors",Rd="Result",Xd="Apply changes",Qd="Color type",Yd="Styles",Wd="Background,Text,Border,Watched progress bar",Zd="Default,Custom,White,Grey,Red,Orange,Yellow,Green,Blue,Purple,Pink",$d=(Kd="Press enter")+" to accept RGB change",er="Selected thumbnail style",tr="Open in an external player",Ir=["Left","Right"],Pr=["Bottom right","Center right","Top right","Center top","Top left","Center left","Bottom left","Center bottom"],Mr=["Right","Center","Left"],zr="Notification position on the screen",Gr=["Top right","Top center","Top left","Bottom left","Bottom center","Bottom right"],nc=[iu="Disable","Normal mode, may cause re-buffers","Lowest mode, may cause even more re-buffers"],nu=[tn+" - "+(ei="Disabled"),tn+" - Normal mode",tn+" - Lowest mode"],rc="VOD fast backward/forward controls",cc="Controls how fast the backwards/forward steps will work. When clicking and holding left/right, the step time will increase. After the increase timeout has passed, it will increase up to the maximum step time. Then, after releasing the key, and not clicking for one second, the step time will reset back to the minimum step time.

Pressing up will overwrite the mim/max value, allowing you to go through all the possible steps and lock the value until the progress bar is dismissed.

Doing single-clicks without holding the key will not increase the time.

These options only work with VODs. For clips, the step is always 1 second.",uc="Minimum (starting) step time",fc="Maximum step time",pc="Increase timeout after holding for",hc="press up to lock the step value",_c="locked press up to change",bc="In chat",yc="Show total logged in users on top of the chat or viewers",Pc="This is very helpful to know, for example if the offline chat has any user to talk to, also lets the user know the difference from total viewers VS total chat users.",Ju="Show viewers",Xu="Show chatters",wc="Played",xc="Chapters",Ac="from",xu="Hide main screen clock",wu="Hide player clock",Au="Hide main screen title",ku="The center title, lives, clips, settings etc ...",Su="Hide on-screen navigation tips",ju="Navigation tips, such as 'Hold a key for an action' and related.",Cu="Automatically minimize the app when inactive for",Iu="Prevent the app from keep running when no one is watching it. A warning will show up, giving the user 15 seconds to press any key to prevent the minimizing.",Pu="The app will auto minimize due to inactivity in

%x

Press any key to cancel",Ou="Remaining:",Hu="Player status visibility",Uu="Preview settings",Ru="Show preview",Fu="Preview size",Qu="OLED Burn in protection",Yu="When this is enabled the screen will fully turn black for 50 ms once every 20 minutes. Only needed for devices with OLED displays that have issues of burn-ins.",af="as",tf="milliseconds",of="hour",nf="hours",sf="Right",lf="Left",df="Bottom",rf="Top",cf="Avg",uf="Offset",ff="Affiliate content",pf="If you don't wanna to see the affiliate content set this to disabled.",hf="This application has some affiliated links and images, from partners that have highly recommended products, the application owner may receive commissions for purchases made through those links, all links, images or anything related to a product are properly verified and or used before be displayed on the application.",mf="The affiliated content can be disabled in settings.",gf="The app history shows what you have watched in the app only if history is enabled",vf="the preview",yf="Embed player ",bf="Click here to exit the player",wf=Hi="Full screen",kf="Click, press 9 or F11",xf="This is not supported on a browser",Af="Browser warning",Sf="This app is designed to be used mainly on TVs, the support for other devices is limited. You can control the app using a mouse but it works better using the keyboard keys up, down, left, right, enter and return controller (ESC works as a return).",jf="Click twice above an action (to open or apply it), click outside the dialog to exit without applying",Cf="Press return, enter or click outside to close this",If="Enable Live and Vod Twitch player",Pf="This is only needed to disable if you want to see the Android player to check its strings and layout for testing proposes",Mf="Use the keyboard for this feature",Vf="Fail to load VOD info",Qf="If you wanna know more or thanks the proxy server maintainer use the link:",Df="TTV LOL",Rf="K-Twitch-Bypass",Ff="T1080",Jf="Proxy timeout (time in seconds)",Xf='If the proxy server is out this will be the time that will take to "give up" on the connection and fallback to default Twitch implementation',Bf="Proxy: ",Nf="Enabled and working",qf="Disabled in settings",Lf="Not working, fail %x times",Gf="Proxy Settings (Internet censorship and related proxy)",zf="Only one proxy can be enable, enables proxy server to get stream links from a different server, that may allow you to see content that is forbidden on yours region and avoid ads, disable this if you have any live stream issue too many or longer buffers, freezes or slow connection that may cause the stream quality to drop.",Zf="Seek Preview",$f="Allows to control the VOD seek preview image that shows when rewind or fast forward, seek preview isn't available to all VODs.",ep="Single image",ap="Carousel of images",ip="(Click New issue)",fp="Confirm",rp="No changes to mature content due to missing password",lp="Protect mature changes with a password",cp="Set an password and click Confirm, exit will reset the mature settings",up="Enter the saved password and click Confirm, exit will reset the mature settings",op="Mature content is disabled",np="Mature content",sp="When disabled the app will block all content marked as mature including followed content, that includes lives marked as mature, and all content from clip and VOD sections",pp="Screen off (Audio only)",hp="Unblock channel",_p="Unblock game",mp="Block channel",gp="Block game",vp="Add a user first before being able to block",bp="Can't get the channel for this",yp="Show blocked",wp="Sorted by blocked date",xp="Sorted by name A to Z",Ap="There is no blocked content of this type",Sp="Without adding a user and authorization token the app, may fail to load the content, this is a Twitch API limitation",kp="The app is failing to load the content due to a Twitch API limitation, to fix this add a user and authorization token.",jp="Visit %site on another device and enter the code: %code",Cp="Checking access confirmation in %d...",Ip="Checking now!",Pp="Can't access the add user service",Mp="Lost access to current user, please revise the user section",Tp="Wrong password!",Op="Mature content is enabled, old password deleted",Dp="Extra codec support",Ep="Beta codec support that are being tested by Twitch",Bp="Most streams only have AVC H.264 support ",Np="For the codec to work the device must be capable, check the capability below (must be green), and the stream must be using the codec.",qp="AV1",Gp="HEVC",zp="supported",Rp="Not supported! Enabling this codec can cause playback errors and no playback.",Lp="To better understand the device capability check the settings option: ",Pn="Codec capability & Blocked codecs",Mn="List used codec capabilities and allow blocking codecs from being used.",Vn="This section lists all device-supported codec types AVC H.264, HEVC H.265, and AV1 used by this app.",On="Software codecs (OMX.google) are disabled by default if a hardware codec is available, if you have a playback problem try to disable the software codec and enable the hardware or vice versa (A constant accumulation of skipped frames is indicative of a codec issue).",Tn="At least one codec of each type must be enabled at all times.",Up="Catch-up with low latency",Fp="When low latency is enabled, auto-adjust the latency if it is off the expected target, by slowing or speeding the stream by 1%, the speed change can cause minor audio noise when the latency is being adjusted."}function wh(){Dx=!1,bQ=17,L="Actualizar",q="Buscar",G="Configuración",z="Controles",R="Acerca de",U="Ocultar",F="El texto que ingresaste está vacío.",H="El resultado de la búsqueda está vacío.",J="Cambiar de pantalla",X="Cambiar pantalla de usuario",Q="Cambiar: Vods o Highlights",Y="Cambiar: Periodo (24 h, 7 días, 30 días, todos)",K="Ir a la pantalla",W="Usuario",Z="En directo",$="Juegos",ee="Jugando",ae="para",te="Viendo hace",ec="Tiempo de espera",ie="Desde",ne="Escriba su búsqueda ...",se="Escriba su clave de autorización...",le="Escriba su nombre de usuario...",de="Presione la tecla Enter o Seleccionar para,",re="Canales",ce="Canal",Mi="Volver a la pantalla anterior: tecla de retorno",fe="ha terminado",Vd=", comprobación de host",pe="Este video solo está disponible para suscriptores.",dc="es contenido solo para suscriptores.",he="La conexión falló, no se pudo cargar el contenido. Presiona actualizar para volver a intentarlo",ve="for this",be="La conexión falló, no se pudo cargar el contenido de video saliendo...",ye="Vods",we="Destacados",xe="Clips",Ae="Contenido",Se="Transmitido",ke="Duración",Ce="Vistas",Ie="Espectadores",Me="Haga clic de nuevo para salir!",fo="Pulse de nuevo para salir de Imagen en Imagen!",Ss="Pulse de nuevo para salir de MultiStream!",Ve="¿Quieres salir del Cliente SmartTV para Twitch?",Oe="Salir",Tc="Cambios",Dc="Registro de cambios completo",Ec="Estos son sólo los últimos cambios, para leer los cambios completos consulte el siguiente enlace:",Bc="Haga clic para actualizar",Nc="Buscar actualizaciones",Rc="Buscando actualizaciones...",Uc="Error de comprobación de actualización",Fc="La aplicación está actualizada",qc="Último cambio:",Gc="El proceso de actualización ha fallado, por favor, inténtelo manualmente!",zc="El proceso de actualización no logra descargar el APK, por favor inténtelo manualmente!",Hc="Actualización de Apk disponible",Jc="Actualización Web disponible",Qc=", comprobar en el panel lateral",Xc="Última comprobación:",Yc="Opciones de actualización",Kc="Buscar actualizaciones en segundo plano",Wc="Mostrar el diálogo de actualizaciones cuando éstas están disponibles",Zc=["Si","Sólo un mensaje de brindis",ge="No"],$c="El proceso de actualización ha comenzado, esto puede tardar unos segundos, por favor espere!",eu="Si Play Store no muestra la actualización inténtalo de nuevo después de unos minutos!",au="Necesitas la versión 3.0.303 o superior del APK para poder usar esto, por favor actualiza de la forma antigua",tu="Aplicación actualizada OK",Te="Cerrar",De="Minimizar",Ee="Cancelar",Ne="Canales en directo",Le="Hosts",qe="Juegos en Directo",Ge="Canales seguidos",Go="Mi canal",ze="Agregar usuario",Re="Remover usuario",Ue="El usuario no existe",Fe="hosteando",Je="ya está configurado",Xe="Cambiar a",Qe="El primer usuario puede seguir (al proporcionar una clave) y ver los canales en directo fuera de la pantalla del usuario",Ye="Añade un usuario de Twitch para mostrar el contenido de los canales seguidos aquí",Ke="24h",We="7d",Ze="30d",$e="todo",ea="Saltar",aa="a",ta="Salto cancelado",ia=", tiempo de salto mayor que la duración",oa="Seg",na="Min",sa="Ms",la="Hr",da="Fuente",ra="Cliente SmartTV para Twitch",ca="Presione Regresar o Enter para cerrar este.",ua="Presione regresar para cerrar esto.",fa="Presione volver para mostrar el cuadro de diálogo de actualización o enter para cerrar este.",pa="Relacionado al Reproductor:",ha="Relacionado al Chat:",jn="Mostrar chat",_a="Versión actual instalada",ma="última versión disponible",ga="Reproduce un vídeo: Navega con el pad direccional (arriba/abajo/izquierda/derecha), pulsa enter o las teclas multimedia de reproducir/pausa o ver pista o 1 tecla",va="Actualizar el contenido de la pantalla:",ba="Salir de la aplicación: desde el panel lateral haga clic en salir",Ei="Forzar el cierre de la aplicación: Mantenga la tecla de retorno hasta que se cierre automáticamente",ya="Cambiar de pantalla: tecla de retorno y luego D-Pad arriba/abajo o"+(xt="PG Arriba/Abajo")+$s,wa="Inicie una búsqueda: desde el panel lateral haga clic en buscar, escribiendo la búsqueda pulse la tecla Enter en el teclado virtual y elija una opción de búsqueda",xa="Acerca de esta aplicación: en el panel lateral haga clic en Acerca de",Aa="Se trata de un cliente de Twitch para Android TV, liberado de forma gratuita para todo aquel que quiera utilizarlo",Si="Esta versión de la aplicación es sólo de prueba en el navegador!",ka="Información de contacto:",ja="Esta es una aplicación de código abierto licenciada bajo la Licencia Pública General GNU v3.0, consúltela en GitHub",Ca="Esta aplicación utiliza las siguientes dependencias:",Ra="Chat y vídeo (lado a lado): tecla 2 o tecla multimedia avance rápido, también cambia entre los modos Picture in Picture y 50/50",Ii="Forzar deshabilitar el chat",Ua="Añadir una clave permite que la aplicación acceda al chat usando tu usuario para enviar mensajes y obtener tu lista de emote (te permite obtener sub dones para el chat), seguir/deshacer canales y acceder a algunos contenidos de los usuarios más rápidamente

Añadir una clave no es exigente y puede hacerse en cualquier momento posterior

En caso de duda lee este enlace:

%x

Para algunos dispositivos es necesario un ratón para completar la acción de autorización ya que puede ser necesario pulsar manualmente un botón para confirmar.

Añadir clave para",Fa="Añadir clave de autorización",Ha="Clave añadida OK",Ja="La prueba de la llave ha fallado, hay que añadir una nueva",Xa="Intenta añadir una clave para el usuario",Qa="pero esta clave es para el usuario",Ya="Siguiendo",Ka="Seguir",Wa="Y si no has añadido una clave de autorización, la aplicación no puede comprobar el estado de tu sub..",Za="Y no eres un sub de este canal",et="Fallo en la comprobación de la autorización con la clave del proveedor, por favor, compruebe y vuelva a intentarlo",ni="La clave añadida no pertenece al usuario",at="Ningún usuario",tt="Establecer un usuario y una clave de autorización para poder seguir o dejar de seguir",qi="Añade primero un usuario",ot="Reinicie el",nt="Clip",st="Contenido del canal",rt="Seguidores",ut=", No se puede seguir o dejar de seguir",ft="Contenido del juego",pt="Si",vt="Mantenga pulsado enter",bt=["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dec"],yt=["Dom","Lun","Mar","Mie","Jue","Vie","Sab"],At="Vídeos",St="Repetición",kt="saliendo en",jt='pulse "Retorno" para salir',It="Creado",Mu='Mostrar Advertencia de "Streamer en directo"',Vu="Al ver un clip o un VOD, la aplicación puede comprobar si ese streamer está en directo, si esto está configurado como SÍ, se mostrará una advertencia, para abrir el directo sólo tienes que utilizar la opción de controles inferiores del reproductor",Rr="Permanecer en el stream",Jr="Último resultado:",Dt="es ahora",Nt="Tamaño del buffer de inicio:",qt="Cuánto se necesita para almacenar en el buffer antes de comenzar la reproducción, esto no está relacionado con el tamaño máximo que puede alcanzar el buffer (el tamaño máximo del buffer se basa en el tamaño de la RAM del dispositivo), un valor más bajo aquí hará que la reproducción comience antes y eso es siempre recomendable. Cambiar este valor a un valor más grande en la mayoría de los casos no causará ninguna mejora pero sí contratiempos",Gt="Buffer inicial de Streams en directo",zt="Buffer inicial de Vídeos (Emisiones pasadas y destacados)",Rt="Buffer inicial de Clips",Ut="Idioma",uu="El mensaje se envía, pero el retraso del chat está activado, el mensaje se mostrará en el chat después",lo="Chat: retraso",Ht=jr+" VOD?",Wt="Añadir una clave de autorización de usuario para poder ver los vídeos seguidos",Zt="Cambiar: Más recientes o vistas",ou="Activar",$t="Activado",ei="Desactivado",_i="La aplicación se cerró durante la reproducción, restaurando la reproducción",ai="Restaurar la reproducción",ti="La aplicación guarda lo que estaba reproduciendo en caso de que se cierre involuntariamente, al cambiar de aplicación el sistema puede quedarse sin memoria y cerrarla, en este caso la aplicación restaurará lo que estaba reproduciendo previamente en el siguiente inicio",ii="Tamaño de la fuente del chat",si="Las miniaturas animadas del vídeo",ui="Paso de salto",ro="segundo",fi="segundos",pi="minuto",hi="minutos",mi="Desplazamiento del reloj",Ic="Ajustar el reloj de la aplicación principal en relación con su elección",gi="Idioma del contenido",vi="El idioma del contenido en su pantalla, directo, vods, clips",bi="Idioma de la aplicación",yi="El idioma del texto de la aplicación",wi="Presione enter para acceder",xi="Todas",Pi="Brillo del fondo del chat",Oi="Reproducir Todo",Di="Reproducción automática del siguiente clip",Bi="Volver al Menú principal",_n="Mantenga pulsado arriba",Vr="Diálogo de inicio de VOD",Or='Elija el comportamiento por defecto, cuando reproduzca un VOD si la información está presente en el historial del usuario puede ser reproducido desde donde usted dejó de ver por última vez, si establece esto como "siempre desde el principio" este comportamiento también se aplicará a la vista previa del VOD',Tr="Siempre desde el principio",Dr="Siempre desde la última parada",Er="Pregunte siempre",ar="Opciones de diálogo en fin de reprodución",Gi="Tiempo de diálogo en fin de reprodución",zi="Cuando un Directo/VOD/Clip termina se muestra un diálogo con la opción de qué hacer a continuación, establezca el tiempo (en segundos) que tardará la opción por defecto en actuar",Ri="Disable the timer",Ui="Tamaño del chat",Fi="Posición de chat",Yi="Modo de vídeo",Hi="Pantalla completa",Ji="Lado a lado, video y chat",Eo="50/50 y chats",Xi="Velocidad",Qi="Calidad",Ki="Normal",Wi="Auto",eo="Muy baja",ao="Baja",to="Alta",io="Muy alta",oo="Calidad de las miniaturas",no="Resolución de las miniaturas por defecto para el directo, los vídeos y los juegos (no se puede aplicar a los clips) un valor más bajo ayudará a que la aplicación cargue más rápido pero la miniatura puede verse borrosa",mo='Esto se utilizará para evitar retrasos en los dispositivos de gama baja cuando se reproduzcan varios vídeos al mismo tiempo (la mayoría de los dispositivos se retrasarán saltándose fotogramas en esa situación, ya que sólo están hechos para reproducir un único vídeo), también ayuda a limitar el uso del ancho de banda de Internet en caso de que necesites limitarlo, también establece la "Calidad predeterminada del reproductor" en Auto, la resolución/velocidad de transmisión recomendada para todos los reproductores pequeños es 720p/3 Mbps e ilimitada para el reproductor principal o grande para la mayoría de los dispositivos de gama baja',bo="Diferentes valores aquí para la resolución y la tasa de bits del reproductor principal y del pequeño, puede causar un corto buffering/carga cuando se cambia el reproductor principal en el modo Picture Picture (presionando hacia abajo se cambian los reproductores), para prevenir esto ponga ambos valores iguales a costa de un posible lag, el mejor indicativo de un bitrate demasiado alto es una constante acumulación de cuadros saltados o un constante buffering del stream.",go="Tasa de bits - "+(vu="Reproductor principal, reproductor de Picture in Picture o el reproductor principal 50/50"),vo="Tasa de bits - "+(yu="Reproductores pequeños, reproductor pequeño del modo Picture in Picture y todos los reproductores Multistream"),bu="Resolución - "+vu,yu="Resolución - "+yu,fu="Resoluciones bloqueadas",hu="Cuando se utiliza la calidad automática es posible bloquear una o más resoluciones para que no se utilicen nunca, esto es utilizable para los dispositivos que se retrasan en la reproducción de una resolución en particular, ya que los clips no se pueden reproducir en modo automático esto también bloqueará la sección automática de esta resolución en un clip.",_u="El usuario puede sobrescribir la selección manualmente durante la reproducción

XX significa que todas las resoluciones que empiecen por ese valor antes de XX no podrán ser utilizadas, si la resolución está marcada como bloqueada",mu="Bloqueada",gu="No Bloqueada",Nu="Audio -",Zi="Calidad del reproductor por defecto",$i='Esta opción siempre será respetada cuando se reproduzca un solo video, en el modo de Imagen o Multistream la reproducción necesita usar la calidad Auto, para el por qué es eso, revisa la opción de ajustes "'+(ho="Calidad automática máxima permitida Resolución/Tasa de bits")+'"',Zr=["Cuando la información del reproductor es visible","Siempre visible","Nunca visible"],Lo="Pulsar una sola tecla de retorno",qo="Salir del reproductor, del modo picture in picture, 50/50 o Multistream con un solo clic de retorno de la tecla",Zl="Opciones de notificación",zo='Mostrar la notificación "Streamer está en directo" para los canales seguidos',Vc='Mostrar la notificación "Streamer cambio de título" para los canales seguidos',Oc='Mostrar la notificación "Streamer cambió de juego" para los canales seguidos',Mc='Mostrar la notificación "Juego en directo" para los juegos seguidos',fl="Notificación sobre otras aplicaciones, cuando la aplicación está en segundo plano",qr="Si impides las notificaciones para esta aplicación en la configuración del sistema, esta característica no funcionará, si las notificaciones de la aplicación ya se están ejecutando y sales de la aplicación, la notificación se mostrará por encima de otras aplicaciones, incluso si está desactivada.",Yr="Cuántas veces hay que mostrar la notificación individual",Kr="El tiempo de espera de las notificaciones individuales es de unos 3 segundos, y no se puede cambiar porque este tiempo de espera está controlado por el sistema, pero se puede establecer el número de veces que se mostrará la misma notificación",sc='Evitar que se muestre la notificación "Streamer está en directo" para las transmisiones que están en directo hace más de',lc="Esto es útil para evitar que la aplicación muestre una larga lista de notificaciones cuando la aplicación no se utiliza durante algún tiempo, por ejemplo, cuando se apaga el dispositivo o la pantalla está apagada (la aplicación no mostrará notificaciones cuando el dispositivo está encendido pero la pantalla está apagada)",Ro="Tamaño de la fuente en la aplicación",Uo="Esto cambiará el tamaño de todo el texto y la mayoría de los iconos en la aplicación (menos el tamaño de la fuente del chat, porque tiene su propio control), un valor demasiado pequeño puede no ser visible un valor demasiado grande desbordará el soporte de la caja de texto, esa es la forma en que este valor está limitado, cambiar esto refrescará todas las pantallas",Fo="Menú principal",Ho="Menú de usuario",Qo="Imágenes de canales redondeadas",Yo="Como la mayoría de las imágenes de los canales son cuadradas, algunas imágenes pueden no verse bien",Xo="Ocultar Posición/Contador total",Td="Hay un contador de posiciones que informa de la posición actual y del contenido total cargado en las pantallas que tienen contenido jugable, a medida que se desplaza se carga más contenido y el total se actualiza",Zo="Usuario principal",en="Haga clic en un usuario para ver las opciones",an="Usuario: Cambiar, añadir, llave",tn="Baja Latencia",on="Panel lateral o reproductor Clasificación previa",nn="Ordena el panel lateral en directo y la vista previa del reproductor, en la vista previa esto sólo se aplica al usuario en directo y destacado (todos los que no son historia son base de vistas, la historia es la última vista primero, y vod es la más reciente)",dn="Activar las animaciones de la aplicación",ad="Activa el panel lateral, el desplazamiento y las animaciones relacionadas",ed="Personalización de la interfaz, estilo de color, animaciones y otros aspectos",Sc="Personalización de contenidos, ordenación, actualización automática, tiempos de espera y otros",du="Pulse Enter para cambiar a -",pn="(Pulsa enter para dejar de seguir)",hn="(Pulsa enter para seguir)",mn="Hoy",gn="Fotogramas omitidos:",vn="Tamaño buffer (Seg):",yn="Actividad de red (Mb):",bn="Velocidad de red (Mb):",wn="Latencia de transmisión (Seg):",cu="Base en la "+(ru="Latencia de transmisión"),dl="Ping a Twitch (Ms):",Dd="Advertencias",Cn="Posición de la pantalla del D-pad",In="Opacidad del D-pad",$l="Opciones del D-pad",Pn="Codecs bloqueados",Mn="Lista de los códecs utilizados y permite bloquear el uso de un códec",Dn="Resolución máxima:",En="Tasa de bits máxima:",Bn="Nivel máximo:",Nn="Max fps per resolution:",gs="Instancias máximas:",vs="Desconocido",zn="Historial",ls="Habilitar el historial en directo",cs="Abrir el juego",us="Abrir el canal",fs="Pulse enter encima de una acción (para abrirla o aplicarla), volver para salir sin aplicarla",ms="Mantenga pulsado izquierda para ver las opciones de las miniaturas",js="4 directos simultaneos",wo="Picture in Picture: Mantén pulsado Enter y utiliza el D-Pad para mover o cambiar los vídeos",pr="Mostrar la vista previa en las pantallas de emisión en directo",_r="Iniciar la reproducción desde donde se detuvo por última vez:",hr="Mostrar la vista previa en las pantallas de VOD",gr="Mostrar la vista previa en las pantallas de CLIP",Ar="Cuando la vista previa de un clip termina, el siguiente clip disponible cambia automáticamente",nr="Mostrar la vista previa en el panel lateral",qs="Mostrar la vista previa en las miniaturas del reproductor",Pd="Si no quieres o tu dispositivo se retrasa cuando hay más de un reproductor activo, ponlo en NO",Gs="Desactivar la vista previa cuando se activa el multistream",Md="Por razones de rendimiento, algunos dispositivos pueden tener un retraso con múltiples reproductores, si tu está bien para el multistream pero cuando el reproductor de vista previa y el multistream están activos el dispositivo se retrasa establece esto en NO",vr="La vista previa no se carga:",br="inalcanzable",mr="La vista previa del vídeo ha terminado",yr="El reproductor no puede reproducir debido a un problema de conexión a la red",wr="El reproductor no puede reproducir debido a un error del reproductor",dr="Tamaño de la vista previa del reproductor",rr="Establecer el tamaño de la vista previa del reproductor de las miniaturas de la vista previa",cr=["Pequeño","Mediano","Grande","Extra grande"],Nr="Tamaño de la vista previa de las pantallas",Lr="Establecer el tamaño de la vista previa",Br=["Tamaño de la miniatura","Más grande"],zs="Retraso de la vista previa",Rs="Establezca el tiempo de retraso que la vista previa tardará en comenzar a cargar después de seleccionar una miniatura, esto ayuda con los dispositivos lentos que se retrasan al desplazarse",ur="Volumen de la vista previa",fr="Permitir establecer lo que será el volumen de vista previa de la alimentación",sr="Volumen de los principales reproductores",lr="El volumen del reproductor principal (Todos los reproductores picture in picture, reproductores multistream) puede ser más bajo cuando se muestra el reproductor de vista previa",Wl="Vista previa de la configuración de los reproductores de miniaturas",Us="Inicie siempre la aplicación en la pantalla del usuario",od="Esto evitará que funcione la reproducción de Restaurar, pero permite elegir el usuario al inicio de la aplicación",Fs="última actualización:",Js='Mostrar "un servicio de accesibilidad se está ejecutando"',id="Si el dispositivo tiene un servicio de accesibilidad activado la aplicación mostrará una advertencia, es un problema conocido de android que el servicio de accesibilidad puede retrasar algunos dispositivos y causar congelaciones o retrasos en esta aplicación.",Xs="Servicio(s) de accesibilidad detectado(s)",Ks="Tiempo de refresco automático",nd="Cuando esta opción está activada, la aplicación refrescará automáticamente una pantalla o una pantalla de vista previa de miniaturas, el refresco se produce sólo cuando la pantalla está seleccionada, si quieres un refresco en segundo plano activa la opción de abajo",ic="Actualización automática en segundo plano",oc='Cuando "Actualización automática en segundo plano" está configurado y está activado, el refresco automático ocurrirá en segundo plano (pero con la aplicación visible, android no permite que se ejecute sin restricciones en segundo plano para evitar el retraso de otra aplicación) cuando la pantalla no es visible o cuando vuelves a una pantalla que el refresco no se ejecutó antes, ten en cuenta que debido a que la aplicación tiene demasiadas pantallas cuando esta opción está activada el refresco automático puede causar retraso aleatorio en algunos dispositivos de gama baja.',ac="Cambiar automáticamente la calidad del reproductor de Fuente a Auto cuando el reproductor se retrasa",tc="Cuando esta opción está activada y no se utiliza la calidad automática, si el reproductor se retrasa cambiará a la calidad automática y advertirá de ello, un retraso en el reproductor es, por ejemplo, cuando el reproductor es incapaz de jugar durante más de 15 segundos (el algoritmo es más complejo que el tiempo, por supuesto), después de este cambio, el reproductor volverá automáticamente a la fuente cuando se inicie un nuevo flujo de vod.",_l="Escribir para chatear",Tu="Ajustes adicionales del chat",gl="Chat ROOMSTATE:",vl="Sin restricciones",sd="Opciones",yl="Borrar todo",Ol='El chat está en modo "Solo seguidores", y usted no es un seguidor de',Tl="y sólo estáis siguiendo para",Dl="Modo Twitch solo Emote",El="Elija el chat al que desea escribir o pulse Retorno para cerrarlo",Fl="Añadir una clave de autorización de usuario para poder registrar y escribir en el chat",Ql="El chat no está listo para ser enviado. Inténtelo de nuevo en uno o dos segundos.",bl="Opciones del chat",yd="Resaltar los mensajes de recompensa (sólo el mensaje de fondo púrpura)",ld="Resaltar los mensajes de @streamer (fondo rojo oscuro, la @ es azul)",dd="Resalte sus mensajes de @nombredeusuario (fondo verde oscuro, la @ es azul)",rd="Resalte sus mensajes enviados (fondo verde oscuro)",cd="Mostrar mensajes sub en el chat (fondo naranja oscuro)",ud="Mostrar mensaje de bits (fondo amarillo oscuro)",fd="Mostrar mensajes de Acciones (normalmente son de Bots de flujo)",pd='Estos mensajes suelen ser iguales a los mensajes Sub, pero enviados a través de un bot de flujo, por lo que si usted tiene "Mostrar sub..." activar esto es redundante',hd="Diferencia de color de fondo de los mensajes individuales",_d="Los modos son deshabilitar, habilitar (modo automático), brillante o más oscuro, En el modo automático si el chat está por encima de la corriente que el mensaje impar tendrá un color de acento de fondo más oscuro de la par, si el chat no está por encima (lado a lado, por ejemplo) el color será claro",wd="Insertar una línea para separar los mensajes de chat individuales",md="Iniciar sesión en el chat con el usuario actual",gd="La aplicación siempre iniciará sesión en el chat con el usuario actual cuando se proporcione una clave de autorización, a menos que el chat esté desactivado en los controles inferiores del reproductor, pero si esta opción está configurada en NO, evitará el inicio de sesión con el nombre de usuario actual y en su lugar, iniciará sesión como anónimo, incluso proporcionando una clave de autorización. Esto no evita que se envíe un mensaje de chat para este usuario si se agrega una clave, pero evita que se sepa si está prohibido en el chat y evita que se conozca el estado del chat ROOMSTATE",Wr="Mostrar la marca de tiempo del mensaje",Sd="Colores de nick legibles",kd="En lugar de usar el color de nick predeterminado que algunas veces no se puede leer sobre un fondo oscuro, use un color personalizado fácil de ver",ir="Limpiar el chat, eliminar los mensajes del usuario",mc="Se solicitó la eliminación de este mensaje de usuario único",gc="Se solicitó la eliminación de todos los mensajes de este usuario",or="Borrar los mensajes de chat de un usuario específico (típicamente después de haber recibido un tiempo de espera o un baneo), los mensajes borrados siempre tendrán un fondo azul, el mensaje será borrado si esto se establece en sí, si no sólo el color de fondo cambiará",jd="Siempre abra el host en un extremo de la transmisión si está disponible",Qr="Permanecer siempre con el reproductor abierto después de un final en directo",Cd='Mostrar "Aviso de fallo de ping a Twitch""',Id="La aplicación está constantemente comprobando la conexión con Twitch a través de un ping, si eso falla demasiado se mostrará una advertencia, si esa advertencia se muestra involuntariamente establece esto en NO",Ed="Tiempo de espera de la tecla (en milisegundos)",Bd="Cuánto tiempo hay que mantener una tecla para que ocurra una acción de retención, las acciones son refrescar una pantalla, mostrar opciones de miniaturas, etc.",er="Estilo de miniatura seleccionado",tr="Abrir en un reproductor externo",Pr=["Abajo a la derecha","Centro a la derecha","Arriba a la derecha","Centro arriba","Arriba a la izquierda","Centro a la izquierda","Abajo a la izquierda","Centro abajo"],Mr=['Derecha", "Centro", "Izquierda'],zr="Posición de la notificación en la pantalla",Gr=['Arriba a la derecha", "Arriba al centro", "Arriba a la izquierda", "Abajo a la izquierda", "Abajo al centro", "Abajo a la derecha'],nc=[iu="Desactivar","Modo normal, puede provocar re-buffers","El modo más bajo, puede causar aún más re-buffers"],rc="Controles de avance/retroceso rápido de VOD",cc="Controla la velocidad de los pasos hacia atrás/adelante, al pulsar y mantener pulsada la tecla izquierda/derecha el tiempo de paso aumentará después de que el tiempo de aumento haya pasado, aumentará hasta el tiempo de paso máximo, después de soltar la tecla y no hacer clic durante un segundo el tiempo de paso se restablecerá al tiempo de paso mínimo.

Pulsando arriba se sobreescribirá el valor mim/máximo permitiéndole pasar por todos los pasos posibles y bloqueará el valor hasta que la barra de progreso sea descartada

Haciendo clics simples sin mantener la tecla no se incrementará el tiempo

Estas opciones sólo funcionan en VODs para Clip el paso es siempre de 1 segundo",uc="Tiempo de paso mínimo (inicial)",fc="Tiempo máximo de paso",pc="Aumentar el tiempo de espera después de mantener",hc="pulse arriba para bloquear el valor del paso",_c="bloqueado pulse arriba para cambiar",bc="En el chat",yc="Mostrar el total de usuarios conectados en la parte superior del chat o de los espectadores",Pc="Esto es muy útil para saber, por ejemplo, si el chat fuera de línea tiene algún usuario con el que hablar, también permite al usuario saber la diferencia de espectador total VS usuario total del chat",Ju="Mostrar a los espectadores",Xu="Mostrar los chats",xu="Ocultar el reloj de la pantalla principal",wu="Ocultar el reloj en el reproductor",Au="Ocultar el título de la pantalla principal",ku="El título del centro, Directo, Clip, Ajustes, etc...",Su="Ocultar los consejos de navegación en pantalla",ju="Consejos de navegación como, mantener una tecla para una acción y relacionada",Cu="Minimizar automáticamente la aplicación cuando está inactiva",Iu="Evita que la aplicación se ejecute cuando no se está utilizando, se mostrará una advertencia dando al usuario 15 segundos para presionar cualquier tecla para evitar la minimización",Hu="Visibilidad del estado del reproductor",Uu="Ajustes de la vista previa",Ru="Mostrar vista previa",Fu="Tamaño de la vista previa",Qu="Protección contra quemaduras de OLED",Yu="Cuando esta opción está activada, la pantalla se volverá completamente negra durante 50 a 20 minutos, sólo es necesario para los dispositivos con pantallas OLED que tienen problemas de quemaduras",tf="milisegundos",of="hora",nf="horas",sf="Derecha",lf="Izquierda",rf="Arriba",cf="Avg"}function xh(){Dx=!0,bQ=17,co="ou pressione a tecla 2",Zs="ou tecla de mídia próxima faixa",L="Atualizar",q="Pesquisar",G="Configurações",z="Controles",R="Sobre",U="Ocultar",F="O texto que você digitou está vazio.",H="O resultado da pesquisa está vazio.",J="Alterar de tela",X="Trocar tela de usuário",Q="Trocar: Vídeos ou Destaques",Y="Trocar: Período (24h, 7d, 30d, todos)",K="Vá para a tela",W="Usuário",Z="Ao vivo",$="Jogos",ee="Jogando",te="Assistindo por ",ec="Tempo de espera",ie="Desde",oe="Um Jogo",ne="Digite sua pesquisa ...",se="Digite sua chave de autorização ...",le="Digite seu nome de usuário ...",de="Pressione Enter ou de seleção para,",re="Canais",ce="Canal",Mi="Voltar para a tela anterior: tecla de retorno",fe="terminou",Vd=", verificando host",pe="Este vídeo é disponível apenas para subs.",dc="é conteúdo apenas para sub.",he="A conexão falhou ou não há conteúdo para esse. Atualize para tentar novamente",_e="A conexão falhou ou não há conteúdo para esse. Pressione Enter para Atualizar",Vp="A conexão falhou ou não há conteúdo para este idioma. Altere o idioma do conteúdo (mantenha pressionado à tecla para esquerda) ou pressione Enter para atualizar",ve="para este",be="Falha na conexão, não foi possível carregar o conteúdo do vídeo saindo de ...",we="Destaques",xe="Clipes",Ae="Conteúdo",Se="Em",ke="Duração",je="Visualização",Ce="Visualizações",Ie="Pessoa",Pe="Pessoas",Me="Clique novamente para sair!",fo="Clique novamente para sair do Picture in Picture!",Ss="Clique novamente para sair do MultiStream!",Ve="Deseja sair do Cliente SmartTV para Twitch?",Oe="Sair",Tc="Changelog",Dc="Todas Alterações",Ec="Estas são apenas as alterações mais recentes, para ver todas use o link abaixo:",Bc="Clique para atualizar",Nc="Verificar se há atualizações",Rc="Verificando atualizações ...",Uc="Falha na verificação da atualização",Fc="O aplicativo está atualizado",qc="Última alteração:",Gc="Falha no processo de atualização, tente manualmente!",zc="O processo de atualização falhou ao baixar o APK, tente manualmente!",Hc="Atualização Apk disponível",Jc="Atualização Web disponível",Qc=", verifique no painel lateral",Xc="Última verificação:",Yc="Opções de atualizações",Kc="Verificar atualizações em segundo plano",Wc="Mostrar diálogo de atualizações quando houver atualizações disponíveis",Zc=["Sim","Apenas uma mensagem brinde",ge="Não"],$c="Processo de atualização iniciado, pode demorar alguns segundos, aguarde!",eu="Se a Play Store não mostrar a atualização, tente novamente após alguns minutos!",au="Você precisa do APK versão 3.0.303 ou UP para poder usá-lo, atualize do jeito antigo",tu="Aplicativo atualizado OK",Te="Fechar",De="Minimizar",Ee="Cancelar",Ne="Canais ao vivo",Le="Hosts",qe="Jogos ao Vivo",Ge="Canais seguidos",Go="Meu canal",ze="Adicionar usuário",Re="Remover usuário",Ue="Usuário não existe",Fe="host",He="host por",Je="já definido",Xe="Mudar para",Qe="O primeiro usuário pode seguir (ao fornecer uma chave) e ver o feed dos canais ao vivo fora da tela do usuário",Ye="Adicionar um usuário Twitch para exibir os seus Canais Seguidos aqui",Ke="24h",We="7d",Ze="30d",$e="todos",ea="Salto",aa=ae="para",ta="Salto cancelado",ia=", tempo de salto maior que duração",oa="Sec",na="Min",sa="Ms",la="Hr",da="Original",ra="Cliente SmartTV para Twitch",ca="Pressione Retornar ou Enter para fechar isto.",ua="Pressione Retornar para fechar isso.",fa="Pressione Retornar para mostrar a caixa de diálogo de atualização ou Enter para fechá-la.",pa="Relacionado ao player:",ha="Relacionado ao chat:",jn="Mostrar chat",_a="Versão atual instalada",ma="última versão disponível",ga="Reproduzir um vídeo: Navegue usando o teclado direcional (para cima/para baixo/esquerda/direita), pressione enter ou reproduzir/pausar ou visualizar as teclas de mídia da trilha ou tecla 1",va="Atualizar o conteúdo da tela:",ba="Saia do aplicativo: no painel lateral, clique em sair",Ei="Forçar o fechamento do aplicativo: Segure a tecla Enter até forçar o fechamento automático",ya="Alternar tela: tecla de retorno e depois D-Pad para cima/para baixo ou"+(xt="PG para cima/para baixo")+($s="ou tecla de retrocesso de mídia ou de avanço rápido"),wa="Iniciar uma pesquisa: no painel lateral clique em pesquisa, escrevendo a pesquisa pressione a tecla Enter no teclado virtual e escolha uma opção de pesquisa",xa="Sobre este aplicativo: no painel lateral, clique em",Aa="Este é um cliente Twitch para Android TV, lançado gratuitamente para quem quiser usá-lo.",Sa="Este aplicativo não tem afiliação com o Twitch, é um aplicativo feito por um usuário, mas só é possível porque o Twitch fornece todas as API que permite que o aplicativo mostre o conteúdo do Twitch.",Si="Esta versão do aplicativo é para teste apenas no navegador!",ka="Informações de contato:",ja="Este é um aplicativo de código aberto licenciado sob a GNU General Public License v3.0, verifique no GitHub",Ca="Este aplicativo usa as seguintes dependências:",Ia="Suporte para telefones e tablets:",Pa="Sim, é possível usar este aplicativo em telefones e tablets, mas este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outros dispositivos é limitado e por isso não é liberado na play store, use o link abaixo para fazer o download APK mais recente e instale manualmente em um telefone ou tablets",Ma="Mostrar painel de informações: Pressione a tecla Enter ou D-pad se o chat e o feed do canais ao vivo não estiverem sendo exibidos",Va="Fechar o vídeo: pressione a tecla de retorno duas vezes ou a tecla de mídia Parar",Oa="Reproduzir/pausar um vídeo: abra o painel de informações e clique no símbolo de pausa",Ta="Mostrar preview: D-pad para cima",Da="Alterar a qualidade do vídeo: use os controles de qualidade da parte inferior do player",Ea="Forçar a atualização de um vídeo (caso ele congele): Altere a qualidade do vídeo para a mesma",Ba="Mostrar ou ocultar o Chat: D-pad para baixo ou tecla número 3"+(fh="ou nos controles da parte inferior do player"),Na="Alterar posição de chat: D-pad para a esquerda, PG para cima ou retroceder (apenas VOD e clipes)"+fh,La="Alterar tamanho do chat: D-pad para a direita ou PG para baixo"+fh,qa="Alterar brilho de fundo do chat: alterar os controles da parte inferior do player",Ga="Forçar atualização do chat nas transmissões ao vivo (caso ele congele ou não carregue): use os controles da parte inferior do player para desativar o chat (clique duas vezes)",za='Iniciar uma pesquisa: abra o painel de informações, navegue usando o teclado direcional (esquerda/direita) para " Pesquisar "e pressione Enter',cn="Todas as teclas de mídia são suportadas (reproduzir, pausar, parar, próxima faixa, avanço rápido, etc ...) algumas são usadas como atalhos para mudanças de modo de áudio e vídeo",Ra="chat e vídeo (lado a lado): tecla 2 ou tecla de mídia avanço rápido, também alterna entre Picture in Picture e modo 50/50",Ii="Chat desabilitado forçado",Ua="Adicionar uma chave permite que o aplicativo acesse o chat usando seu usuário para enviar mensagens e obter sua lista de emoticons (permite que você receba sub de presente pelo chat), seguir/parar de seguir canais e acessar algum conteúdo do usuário mais rápido

Adicionar uma chave não é obrigatorio e pode ser feito a qualquer momento mais tarde

Em caso de dúvida, leia este link:

%x

Para alguns dispositivos é necessário um mouse para concluir a ação de autorização, pois pode ser necessário clicar manualmente em um botão para confirmar.

adicionar chave para",Fa="Adicionar chave de autorização",Ha="Chave adicionada OK",Ja="Teste de chave falhou, uma nova precisa ser adicionado",Xa="Você tentou adicionar uma chave para o usuário",Qa="mas esta chave é para o usuário",Ya="Seguindo",Ka="Não Seguindo",Wa="E você não adicionou uma chave de autorização, o aplicativo não pode verificar o seu status de seguidor.",Za="E você não é um sub deste canal",$a="Você é um sub deste canal, mas alguns problemas de radônio impediram a reprodução deste canal.",et="Falha na verificação de autorização com a chave do provedor, verifique e tente novamente",ni="A chave adicionada não pertence a este usuário",at="Nenhum usuário",tt="Definir usuário e uma chave de autorização para poder seguir/deixar de seguir",it="Aplicativos de terceiros não podem mais seguir ou parar de seguir canais (o botão pode apenas mostrar se é seguidor)",qi="Adicionar um usuário primeiro",ot="Reinicie o",nt="Clipe",st="Conteúdo do canal",lt="A rede está desconectada, o aplicativo não funciona sem INTERNET",dt="Conexão de rede restabelecida",rt="Seguidores",ct="Seguidor",ut=", Não é possível seguir ou deixar de seguir",ft="Conteúdo do jogo",pt="Sim",ht="Tem certeza que deseja remover o usuário",_t="Pressione até",mt="Jogos Seguidos Ao Vivo",gt="Mudar entre",vt="Segure enter",bt=["jan","fev","mar","abr","maio","jun","jul","ago","set","out","nov","dez"],yt=["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],wt="Iniciou",At=ye="Vídeos",St="Repetir",kt="saindo em",jt='pressione "Retornar" para sair',It="Criado",Pt="Abra o Vídeo",Mt="Abra o último Vídeo",ef="Agora Ao vivo",Mu='Mostrar aviso "Streamer Agora ao vivo"',Vu="Ao assistir a um clipe ou VOD o aplicativo pode verificar quando o streamer está ao vivo, se estiver definido como SIM, um aviso aparecerá, para abrir ao vivo basta usar a opção de controles inferiores do player",$r="Clique para abrir o chat e/ou aguarde para voltar ao vivo",Rr="Permanecer na Live",Ur="Fique ligado e verifique novamente para ver se volta ao vivo",Fr="Verificando se está ao vivo em:",Hr="Verificando se está ao vivo ...",Jr="Último resultado:",Xr="O stream estava offline",Vt="Sem Vídeos",Ot="Não há Vídeo para este clipe",Tt="E por causa disso nenhum chat",Dt="Esta agora",Et="Abra o Hosting",Bt="player relacionado",Nt="Buffer inicial:",qt="Quanto é necessário armazenar em buffer antes de iniciar a reprodução, isso não está relacionado ao tamanho máximo que o buffer pode atingir (o tamanho máximo do buffer é baseado no tamanho da Memória do dispositivo), um valor menor aqui fará com que a reprodução comece mais rapido e isso é sempre recomendado. Alterar este valor para um valor maior na maioria dos casos não causará nenhuma melhora, mas sim retrocessos",zt="Buffer inicial de Vídeos (Vídeo e destaque)",Rt="Buffer inicial de Clipes",Ut="Idioma",Ft="Chat: Conectando à",tl="Tempo limite de conexão, falha ao registrar ...",il="Chat: Conectado",uu="Mensagem enviada, mas o atraso de chat habilitado, a mensagem será exibida no chat após",lo="Chat: atraso",Ht=(jr="Reproduzir desde o início ou de onde parou de assistir")+"VOD?",kr=jr+"AO VIVO?",Xt=(Jt="De:"+u)+"Iniciar",Qt="chat: O chat terminou!",Yt=", Mais recente",Kt=", Mais visualizações",Wt="Adicionar uma chave de autorização para poder ver os vídeos de seguidos",Zt="Trocar: Recente ou visualização",ou="Ativar",$t="Ativado",Ad="Modo escuro",xd="Modo claro",_i="O aplicativo foi fechado durante uma reprodução, restaurando a reprodução",ai="Restaurar reprodução",ti="O aplicativo salva o que estava reproduzindo no caso de fechamento acidentalmente, alterando os aplicativos por exemplo, o sistema pode ficar sem memória e forçar o fechamento, nesses casos o aplicativo irá restaurar o que estava reproduzindo na próxima inicialização",ii="Tamanho da fonte do chat",si="Miniaturas animadas de vídeos",td="Quando um Vídeo ou destaque é selecionado a miniatura é animada se estiver disponível para aquele vídeo (nem todos os vídeos têm animação)",li="Painel lateral: D-pad para a esquerda ou tecla de retorno",di="Tamanho",ri="Brilho",ci="Conteúdo proibido, restrito à sua região ou a aplicativos oficiais do Twitch",ui="Etapa de salto",ro="segundo",fi="segundos",pi="minuto",hi="minutos",mi="Clock offset",Ic="Ajuste o relógio do aplicativo em relação à sua escolha",bi="Idioma do aplicativo",yi="A linguagem dos textos do aplicativo",gi="Idioma do conteúdo",vi="O idioma do conteúdo das telas, ao vivo, Vídeos, clipes",wi="Pressione Enter para abrir",xi="Todas",Ai="Não é possivel obter o jogo deste",Sr="vazio",ki="Não é possível saltar durante o buffer",ji="chat foi desabilitado à força, habilite-o nos controles da parte inferior do player chat desabilitado forçado",Ci="Este clipe/vídeo falhou ao carregar. Não é possível reproduzir",Pi="Brilho de fundo do chat",Vi="Iniciar o proximo",Ti="Iniciar o proximo em",Oi="Reproduzir tudo",Di="Reproduzir automaticamente o próximo clipe",Bi="Voltar ao menu principal",Ni="Pressione para cima",_n="Segure pra cima",Li="Live Feed",Vr="Diálogo inicial de Vídeos",Or='Escolha o comportamento padrão, ao reproduzir um Vídeo se a sua informação estiver presente no histórico do usuário, ele pode ser reproduzido de onde você parou de assistir pela última vez, se definido como "sempre desde o início" este comportamento também será aplicado a Pré-Visualização de VOD',Tr="Sempre desde o início",Dr="Sempre desde onde parou",Er="Sempre perguntar",ar="Opções diálogo de fim de reprodução",Gi="Tempo limite da do diálogo de fim de reprodução",zi="Quando um Live/Vídeo/Clipe termina uma caixa de diálogo mostra opçôes do que fazer a seguir, defina o tempo (em segundos) que levará para a opção padrão agir",Ri="Desativar o cronômetro",Ui="Tamanho do chat",Fi="Posição de chat",Yi="Modo de vídeo",Hi="Tela inteira",Bo="Tela grande e pequena",Ji="Lado a lado, vídeo e chat",Eo="50/50 e chats",Xi="Velocidade",Qi="Qualidade",Ki="Normal",Wi="Auto",eo="Muito baixa",ao="Baixa",to="Alta",io="Muito alta",oo="Qualidade das miniaturas",no="Resolução padrão de miniaturas para vídeos, ao vivo e jogos (não pode ser aplicado para clipes) um valor menor ajudará o aplicativo a carregar mais rápido, mas a miniatura pode parecer desfocada",so="Doações Paypal use o link abaixo:",Ls="Doações de Bitcoin use o endereço de carteira ou leia o qrcode:",uo="A conexão falhou, não foi possível carregar as informações do Vídeo",po="Reiniciar player",zu=["Pequeno","Grande",bs="Tudo"],su=[bs,"Superior esquerdo","Superior direito","Inferior esquerdo","Inferior direito"],lu=[bs,"Superior","Inferior esquerdo","Inferior centro","Inferior direito"],yo="Ilimitado",mo='Isso será usado para evitar lags em dispositivos lentos ao reproduzir vários vídeos ao mesmo tempo (a maioria dos dispositivos vai pular frames nessa situação, pois eles são feitos para reproduzir apenas um único vídeo), também ajuda a limitar o uso de banda da Internet, no caso de ser necessario limitar uso de banda habilite "Qualidade do player padrão" para Auto, a resolução/taxa de bits recomendada para todos os players pequenos é 720p/3 Mbps e ilimitada para o player principal ou grande para a maioria dos dispositivos de baixo custo.',bo="Valores diferentes aqui para a resolução do player principal e pequeno e/ou taxa de bits, pode causar um curto buffering/carregamento ao mudar entre o player principal no modo Picture Picture (pressionando para baixo irá alterar os players), para evitar que isto defina ambos os valores mesmo ao custo de um possível atraso, o melhor indicativo de uma taxa de bits muito alta é um acúmulo constante de quadros ignorados ou um buffer constante do fluxo.",go="Taxa de bits -"+(vu="player principal, para o player grande em Picture in picture ou o player de cima 50/50"),vo="Taxa de bits -"+(yu="players pequeno, para o player pequeno do modo Picture in Picture e todos os players Multistream"),bu="Resolução -"+vu,yu="Resolução -"+yu,fu="Resoluções bloqueadas",hu="Ao usar a qualidade automática é possível bloquear uma ou mais resoluções de serem usadas, isso é útil para dispositivos que atrasam a reprodução de uma resolução particular, como os clipes não podem ser reproduzidos no modo automático, isso também bloqueará a seção automática de esta resolução em um clipe.",_u="O usuário pode sobrescrever a seleção manualmente durante a reprodução

XX significa que todas as resoluções que começam com aquele valor antes de XX serão impedidas de serem usadas, se a resolução for marcada como bloqueada",mu="Bloqueado",gu="Não bloqueado",xo="Fonte de áudio",Lu="Controles de áudio e volume",Du="Áudio habilitar todos",Gu="Todas as fontes de áudio habilitadas",Eu="Volume total até 100%",qu="Todo o volume do player ajustado para 100%",Bu="Volume -",Nu="Áudio -",Zi="Qualidade padrão do player",$i='Esta opção será sempre honrada ao reproduzir um único vídeo, no modo Picture in Picture ou Multistream a reprodução precisa usar a qualidade Auto, pelo motivo é que, marque a opção de configurações "'+(ho="Resolução/taxa de bits máxima de qualidade automática permitida")+'"',Ao="Imagem sobre imagem, 50/50 ou Multistream (apenas para transmissões ao vivo):",So="Habilitar modo Picture in Picture: Reproduzindo um vídeo, pressione para cima para mostrar o feed de preview, escolha um fluxo e segure a tecla Enter ou pressione a tecla 1 para iniciar",ko="Alterar um conteúdo de vídeo: a partir da preview do player, se estiver no modo multiplayer, clique sempre uma vez, Se em PP ou 50/50 um único clique atualizar o vídeo grande ou superior, segure a tecla Enter ou pressione a tecla 1 para atualizar o vídeo pequeno ou inferior",Co="Alterar conteúdo entre vídeos (somente imagem sobre imagem): D-pad grande torna-se pequeno e vice-versa",Io="Alterar a posição do vídeo pequeno (somente Picture in picture): D-pad para a esquerda",Po="Alterar tamanho pequeno do vídeo (somente Picture in picture): D-pad à direita",Mo="Alterar fonte de áudio: Use os controles inferiores do reprodutor Fonte de áudio, se em 50/50 ou multistream use a tecla esquerda/direita se em PP use as teclas de mídia da faixa seguinte/anterior",jo="Mudar a fonte de áudio para todos os vídeos: Mantenha a tecla para baixp pressionada.",Vo="Reiniciar player: use os controles inferiores do player Reiniciar player, isso só irá reiniciar todos os players, útil para sincronizar player e chat, isso não irá sincronizar o conteúdo de um player com outro",Oo="Sincronizar players manualmente: É uma solução alternativa usar o controle inferior do reprodutor Velocidade para desacelerar o fluxo que está na frente ou vice-versa só funciona no modo PP",To='Qualidade de vídeo Imagem sobre Imagem: Verifique nas configurações do aplicativo "'+ho+'"',Do="Fechar vídeo pequeno ou inferior (somente Picture in picture): a tecla voltar duas vezes para sair do modo PP ou 50/50",No="Habilitar modo 50/50 (dois stream dois chats): Se Picture in Picture habilitar, pressione a tecla 2 ou a tecla de mídia para avançar ou use os controles inferiores 'Modo de Vídeo' ou se já estiver no modo 'lado a lado', mantenha a tecla enter pressionada sobre do feed de preview",Ws="Ativar Multistream: use os controles da parte inferior do player ou a tecla de retrocesso de mídia",Zr=["Quando as informações do player estão visíveis","Sempre visível","Nunca visível"],Lo="Pressione a tecla de retorno único",qo="Saia do player, Picture in Picture, modo 50/50 ou Multistream com um único clique de retorno da tecla",Zl="Opções de notificação",zo='Mostrar notificação "Streamer está ao vivo" para canais seguidos',Vc='Mostrar notificação de "Título alterado do Streamer" para canais seguidos',Oc='Mostrar notificação de "Streamer mudou jogo" para canais seguidos',Mc='Mostrar notificação de "Jogo ao vivo" para jogos seguidos',fl="Notificação sobre outros aplicativos, quando o aplicativo está em segundo plano",qr="Se você impedir a notificação para este aplicativo nas configurações do sistema, este recurso não funcionará, se as notificações do aplicativo já estiverem em execução e você sair do aplicativo, a notificação será exibida sobre outros aplicativos, mesmo se estiver desativado",Yr="Quantas vezes para mostrar notificação individual",Kr="O tempo limite de notificação individual é de cerca de 3 segundos, e não pode ser alterado porque esse tempo limite é controlado pelo sistema, mas você pode definir o número de vezes que a mesma notificação será exibida",sc='Impedir a exibição da notificação "Streamer está ativo " para streams que estão ativos há mais de tempo',lc="Isso é útil para evitar que o aplicativo mostre uma longa lista de notificações quando o aplicativo não for usado por algum tempo, por exemplo, quando você desliga o dispositivo ou a tela está desligada (o aplicativo não mostrará notificação quando o dispositivo estiver ligado mas a tela está desligada)",Ro="Deslocamento global do tamanho da fonte do aplicativo",Uo="Isso mudará o tamanho de todo o texto e da maioria dos ícones no aplicativo (menos o tamanho da fonte do chat, porque tem seu próprio controle), um valor muito pequeno pode não ser visível um valor muito grande irá estourar o suporte da caixa de texto, ou seja forma este valor é limitado, altere isso irá atualizar todas as telas",Fo="Menu Principal",Ho="Menu do usuário",Jo="Está offline",Qo="Imagens dos canais arredondadas",Yo="Como a maioria das imagens de canais são quadrados, algumas imagens podem não parecer OK quando redondas",Xo="Ocultar posição/contador total",Td="Existe um contador de posição que informa a posição atual e o conteúdo total carregado nas telas que possuem conteúdo reproduzível, conforme você carrega mais conteúdo o total será atualizado",Ko="Trocar: Deslocar posição inicial",Wo="Em vez de começar no primeiro vídeo possível, comece uma posição inferior na lista, evita ter que descer e descer para encontrar um vídeo mais antigo",$o="Escolha uma opção para o usuário",Zo="Usuário principal",en="Clique em um usuário para ver as opções",an="Usuário: Mudar, adicionar, chave",rn="Se começar a obter problemas de buffers, desative"+(tn="Latência Baixa")+"
Use"+(Gt="Buffer inicial de streams ao vivo")+"igual ou menor que 1 para que tenha efeito",Cc="Classificação da prévia dos jogos",on="Ordenar o painel lateral ou preview do player",nn="Ordena o painel lateral e o preview do player, este se aplica apenas ao usuário ao vivo e em destaque (todos os históricos são ordenados por ultimo visto e os Vídeos é o mais recente)",sn="Alfabético A - Z",ln="Alfabético Z - A",dn="Ativar animações do aplicativos",ad="Habilita animações no painel lateral e de rolagem",ed="Personalização da interface, estilo de cor, animações e afins",Sc="Personalização de conteúdo, classificação, atualização automática, tempos limite e relacionados",me="Esconder o painel lateral após 5 segundos sem usá-lo",un="Aplicativo em execução por:",fn="Não foi possível obter o link do vídeo",du="Pressione enter para mudar para -",pn="(Pressione enter para deixar de seguir)",hn="(Pressione enter para seguir)",mn="Hoje",gn="Quadros pulados :",vn="Tamanho do buffer (Seg):",yn="Rede atividade (Mb):",bn="Rede velocidade (Mb):",wn="Latencia a transmissão (Sec):",cu="Base em"+(ru="Latência para Broadcaster"),dl="Ping Twitch (Ms):",Dd="Avisos",xn="Bem vindo ao",An="Esta aplicação possui uma série de funcionalidades e foi desenvolvido para dar ao usuario total controle, por isso tem muitas opções, controles e personalizações, olhe as confiurações e os controles do aplicativo para compreender melhor como a utilizalo, em dúvida consulte o vídeo demonstrativo na Play Store, se restar qualquer dúvida use as informações de contato.",Sn="Aviso para celulares",kn="Este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outro dispositivo é limitado e pode nunca receber um suporte melhor, se você não tiver um teclado ou um D-pad + tecla enter e retorno do controlador (ESC funciona para tecla de retorno em um computador) use as teclas virtuais na tela para navegar (visíveis apenas em dispositivos de telefone/tablet), nas configurações você pode alterar a posição e a opacidade do D-pad virtual, clique em qualquer lugar da tela para mostrar o direcional virtual quando está oculto, não funciona.",Cn="Posição da tela do D-pad",In="Transparencia do D-pad",$l="Opções do D-pad",Pn="Codecs bloqueados",Mn="Lista as capacidades dos codecs usados ​​e permite bloquear o uso de um codec",Dn="Resolução máxima:",En="Taxa de bits máxima:",Bn="Nível máximo:",Nn="Max fps por resolução:",gs="Máximo de instâncias:",vs="Desconhecido",Ln="Painel lateral ao vivo: do painel lateral direcional esquerdo ou de qualquer lugar, pressione 3",qn="Solução alternativa modo multiplayer, PP e preview",Gn="Para alguns dispositivos que geralmente rodam versões antigas do Android, é necessário habilitár este para que o modo com varios players funcione corretamente. Normalmente, o problema é que o player (PP ou preview) não ficará visível, ou mesmo quando não estiver em uso fica visível como uma caixa preta sobre o player principal. Não habilite este se você não tiver problemas, pois isso resultará em qualidade de imagem inferior e possível perda de desempenho",zn="Histórico",Rn="Assistido em",Un="até",Fn="Classificação",Hn="Excluir este histórico",Ku="Apagar automaticamente conteúdo inacessível",Wu="Se estiver definido como SIM, o aplicativo removerá automaticamente VODs e clipes que estão inacessíveis (foram excluídos pelo streamer/criador) do histórico",Jn="Nome A - Z",Xn="Nome Z - A",Qn="Jogo A - Z",Yn="Jogo Z - A",Kn="Mais Visualizaçõe",Wn="Menos Visualizações",kc="Maior quantidade de canais",jc="Quantidade de canais mais baixa",Zn="Assistido mais recente",$n="Assistidos mais antigos",es="Pressione enter para deletar",as="Esta transmissão ao vivo agora é um VOD
abrindo o VOD de onde você parou de assistir ao vivo:
",ts="Permitir que o aplicativo faça e restaure backups?
(Os usuários e seu histórico serão backups)

Clique em Sim, o aplicativo salvará backups para uso futuro e restaurará um backup salvo se os dados do aplicativo estiverem vazios.É necessário dar permissão de armazenamento ao app para isso, então dê antes clique sim.

Se você não der permissão de armazenamento, nenhum backup será feito.

A pasta Backup é Main_Storage/data/com.fgl27.twitch/Backup",is="Tem certeza que deseja deletar tudo",os="Criado/Desde mais recente",ns="Criado/Desde mais antigo",ss="Opções de miniatura",ls="Habilitar histórico ao vivo",ds="Habilitar histórico de Vídeos",rs="Habilitar histórico de clipes",cs="Abra o jogo",us="Abra o canal",fs="Pressione enter acima de uma ação (para abri-la ou aplicá-la), retornar para sair sem aplicar",hs="Excluir este do histórico",ps="Verificando status de seguidor...",_s="Atualize a tela após excluir para ver a alteração.",ms="Segure para a esquerda para opções de miniaturas",ys="Escolher qual substituir pelo de acima?",ws="Pressione Enter para substituir ou retornar para sair.",xs="Já está jogando",As="Não foi possível abrir a visualização",$u="Modo Picture in Picture",Zu="Seu dispositivo suporta apenas% x instâncias de codec (reprodutor tocando) ao mesmo tempo, não pode usar",ks="Finalizado e/ou vazio",js="multistream 4 vias",Is="Ajuda multistream :",Ps='Se você está tendo problemas de lentidão após habilitar o multistream, tente diminuir o valor de "Taxa de bits do player pequeno" nas configurações, o acúmulo de quadros pulados ou buffer constante é uma indicação de taxa de bits muito alta ou Internet lenta',Ms="Adicionar streams: abra o feed de preview e clique em um stream ao vivo",Vs="Substituir streams: depois que o multistream estiver cheio, escolha um no feed de preview e escolha um para substituir na caixa de diálogo",Os="Alterar fonte de áudio: D-pad direita ou esquerda ou teclas de mídia próxima faixa de visualização, mantenha enter pressionado para fonte de áudio todos os vídeos",Ts="Sair do multistream: do controle inferior do player ou tecla de retorno duas vezes",Ds="Para fechar este abra as 4 transmissões ao vivo",wo="Picture in picture: Segure enter, após use o D-Pad para mover, redimensionar ou mudar os vídeos",Bs=", Clique em uma miniatura para abrir ou substituir, use o direcional esquerdo/direito para mudar a fonte de áudio",Es=", Pressione retorno para voltar ao menu superior",Ns="Pressione a tecla de retorno para voltar a",pr="Mostrar pré-visualização nas telas das transmissões ao vivo",_r="Iniciando a reprodução de onde parou anteriormente:",hr="Mostrar pré-visualização nas telas VOD",gr="Mostrar pré-visualização nas telas CLIP",Ar="Quando a visualização de um clipe termina, troca automática para o próximo clipe disponível",nr="Mostrar pré-visualização no painel lateral",qs="Mostrar pré-visualização nas miniaturas de preview do player",Pd="Se você não quiser ou seu dispositivo ficar lento quando mais de um player estiver ativo, defina como NÃO",Gs="Desativar visualização quando multistream está ativado",Md="Por motivos de desempenho, alguns dispositivos podem ficar lentos com vários players, se estiver OK para multistream, mas quando o player de pré-visualização e multistream estão ativos ficar lento configuram este para NÃO",vr="A pré-visualização falhou ao carregar:",br="inacessível",Cr=", este Vídeo pode ter sido excluído",mr="A pré-visualização do vídeo terminou",yr="player incapaz de reproduzir devido a um problema de conexão de rede",wr="player incapaz de reproduzir, devido ao erro do player",xr=", tente diminuir o valor da taxa de bits do player nas configurações",dr="Tamanho da visualização do player",rr="Defina o tamanho do player de pré-visualização o pequeno reprodutor de pré-visualização exibido ao pressionar para cima quando um Live, VOD ou clipe é aberto.",cr=["Pequeno","Médio","Grande","Extra grande"],Nr="Tamanho da pré-visualização das telas",Lr="Defina o tamanho do player de pré-visualização exibido acima das telas principais do aplicativo.",Kf="Volume do player de pré-visualização de tela",Wf="Definir o volume do player de pré-visualização que aparece acima das telas principais do aplicativo.",Br=["Tamanho da miniatura","Maior"],zs="Atraso na pré-visualização",Rs="Defina o tempo de atraso que a pré-visualização levará para começar a carregar depois que uma miniatura for selecionada, isso ajuda com dispositivos lentos que atrasam ao rolar",ur="Volume do player de pré-visualização",fr="Defina o volume do player de pré-visualização (o pequeno player que é exibido ao pressionar para cima) quando um Live, VOD ou clipe esta aberto.",sr="Volume dos players principais (Quando o player de pré-visualização está sendo exibida)",lr="O volume do player principal (todos os players picture in picture, players multistream) pode ser menor quando o player de pré-visualização é exibido",Wl="Configurações de players em miniatura",Us="Sempre inicie o aplicativo na tela do usuário",od="Isso impedirá restaurar o ponto onde o app esava antes de ser fechado, mas permite escolher o usuário ao iniciar o aplicativo",Fs="última atualização:",Hs="Saia do PP ou Multistream para abrir este Vídeo",Js='Mostrar "um serviço de acessibilidade está em execução aviso"',id="Se o dispositivo tiver um serviço de acessibilidade habilitado, o aplicativo mostrará um aviso, é um problema conhecido do Android que o serviço de acessibilidade pode deixar lento alguns dispositivos e causar congelamentos ou lentidão neste aplicativo.",Xs="Serviço (s) de acessibilidade detectado (s)",Qs="Leia mais sobre neste link:",Ys="Se você tiver travamentos ou problemas relacionados a lentidão, feche este aplicativo e desabilite todos os serviços de acessibilidade depois para resolver.
Para não mostrar este aviso nunca mais desabilite-o nas configurações",Ks="Tempo limite de atualização automática",nd="Quando estiver habilitado, o aplicativo irá atualizar automaticamente as telas, a atualização acontece apenas quando a tela foi usada, se você quiser uma atualização automatica habilite este",ic="Atualização automática em segundo plano",oc='Quando "Tempo limite de atualização automática" está definido e habilitado, a atualização automática acontecerá em segundo plano (mas com o aplicativo visível, o Android não permite a execução irrestrita em segundo plano para evitar lentdão em outro aplicativo), esteja ciente porque o aplicativo tem muitas telas quando esta opção está habilitada, a atualização automática pode causar um leve atraso aleatório em alguns dispositivos mais lentos',al="Vídeo principal",el=(ol="Vídeo principal MultiStream")+"maior e chat: pressione a tecla para baixo, depois use esquerda/direita para mudar com é o grande vídeo",ac="Alterar automaticamente a qualidade do player de Source para Auto quando o player atrasar",tc="Quando esta opção está habilitada e você não está usando qualidade automática se o player estiver lento, ele mudará para qualidade automática e avisará sobre isso, um atraso do player é, por exemplo, quando o player não conseguiu reproduzir por mais de 15 segundos ( o algoritmo é mais complexo do que apenas o tempo, é claro), após essa mudança, o reprodutor voltará automaticamente à fonte quando você iniciar um novo fluxo de vod",nl='player está lento, qualidade alterada para "Modo automático"',rl="player está lento, qualidade diminuiu",sl="Pré-visualização, stream encerrado"+(ll="ou muitos erros"),cl="Avançar ou retroceder (apenas para VOD e Clips): use as teclas direcional direita/esquerda ou avançar/retroceder mídia",ul="Uma parte deste está silenciado porque contém conteúdo protegido por direitos autorais, a cor mais escura na barra de busca indica as partes",pl="tem de presente um sub!",Od="Anônimo",hl="Você está permanentemente proibido de escrever em",_l="Escreva no chat",Tu="Configurações extras de chat",ml="Quando selecionado, pressione Enter para mostrar o teclado na tela. Se você tiver um teclado físico conectado, pressione Enter ou Esc para ocultar o teclado na tela",gl="chat ROOMSTATE:",vl="Sem restrições",sd="Opções",yl="Excluir tudo",Il="@streamer",Pl="Resultado esperado no chat:",Ml="Enviar",Vl="Esta lista de emote está vazia",Ol="chat esta no modo apenas para seguidores e você não é um seguidor de",Tl="e você só está seguindo desde",Dl="Modo somente emote de Twitch",El="Escolha qual chat escrever ou pressione retornar para fechar",Nl="Opções de escrita no chat",Ll="Auto ocultar teclado virtual",ql="Permite controlar o comportamento do teclado virtual na tela, se você tiver um teclado físico conectado use-o, se não estiver configure para nunca",Gl="Nunca",zl="Se teclado detectado",Rl="Sempre",Ul="Ordem dos emoções",Hl="Se estiver desabilitado, as listas de emotes serão mostradas conforme decebida pelo servidor",Jl="Forçar mostrar chat",Xl="Se você deseja ver o chat quando escrever para chat for usado, habilite este",Fl="Adicionar uma chave de autorização do usuário para poder acessar e escrever no chat",Ql="chat não está pronto para enviar! Tente novamente em um ou dois segundos.",Yl="Resgate, Destacar Minha Mensagem",Kl="Resgate, Enviar uma Mensagem no Modo Sub-Only",bl="Opções de chat",vd="Destacar mensagens do streamer (fundo rosa escuro)",bd="Destacar mensagens de moderadores (fundo ciano escuro)",yd="Destacar mensagens de Resgate (somente mensagem de fundo roxo)",ld="Destacar mensagens @streamer (fundo vermelho escuro, o @ é azul)",dd="Destaque suas mensagens de @username (fundo verde escuro, o @ é azul)",rd="Destacar suas mensagens enviadas (fundo verde escuro)",cd="Mostrar sub mensagens no chat (fundo laranja escuro)",ud="Mensagem dos bits em destaque (fundo amarelo escuro)",fd="Mostrar mensagens de ações (geralmente são de Bots de fluxo)",pd='Estas mensagens são geralmente iguais às Sub mensagens, mas enviadas através de um stream bot, então se você tiver "Mostrar sub ..." habilite isto é redundante',hd="Diferença de cor de fundo de mensagens individuais",_d="Os modos são desabilitar, habilitar (modo automático), claro ou mais escuro, no modo automático se o chat estiver acima do stream, a mensagem impares terão uma cor de destaque de fundo mais escura do que as pares, se o chat não estiver acima (lado a lado, por exemplo) a cor ficará clara",wd="Insira uma linha para separar as mensagens de chat individuais",oi="Rolagem animada ao adicionar uma nova mensagem no chat",md="Fazendo login no chat com o usuário atual",gd="O aplicativo sempre fará login no chat usando o usuário atual quando uma chave de autorização for fornecida, a menos que o chat seja desabilitado nos controles da parte inferior do player, mas se esta opção for definida como NÃO, impedirá o login usando o nome de usuário atual e, em vez disso, será registrado como anônimo , mesmo que forneça uma chave de autorização. Isso não impede o envio de mensagem de chat para este usuário se uma chave for adicionada, mas impede o app de saber se você está banido do chat e impede o status do chat ROOMSTATE",_f="Bloquear bots e comandos de bot (!comando) de serem exibidos no chat",Wr="Mostrar data e hora da mensagem",Sd="Cores de nick legíveis",kd="Em vez de usar a cor padrão do nick que algumas vezes não pode ser lida em um fundo escuro, use uma cor personalizada fácil de visualizar",ir="Limpar chat, apagar mensagens do usuário",mc="Esta unica mensagem de usuário foi solicitada para ser excluída",gc="Todas as mensagens deste usuário foram solicitadas para serem excluídas",vc=", o tempo esgotou para",or="Excluir mensagens de chat de um usuário específico (normalmente após receberem um intervalo ou banimento), as mensagens excluídas sempre terão um fundo azul, a mensagem será excluída se este estiver definido como SIM, se NÃO apenas a cor de fundo irá mudar",jd="Sempre abra o host no final da stream, se disponível",Qr="Sempre fique com o player aberto após o fim do Live",Cd='Mostrar "Aviso de falha de ping para Twitch"',Id="O aplicativo está constantemente verificando a conexão com o Twitch por meio de um ping, se isso falhar muitas vezes, um aviso será exibido, se esse aviso estiver encomodando, defina como NÃO",Ed="Tempo limite de segurar a tecla (em milissegundos)",Bd="Quanto tempo você precisa para segurar uma tecla para que uma ação de segurar aconteça, as ações são atualizar a tela, mostra opções de miniaturas etc.",Nd="Estilo de seleção atual",Ld="Novo estilo de seleção",qd='Use cima/baixo para selecionar uma opção, pressione retornar para sair, pressione Enter em "Aplicar alterações" para confirmar.',Gd="Sombras",Ud="Nenhum",Fd="Branco",Hd="Cinza",Jd="Preto",zd="Cores",Rd="Resultado",Xd="Aplicar alterações",Qd="Tipo de cor",Yd="Estilos",Wd="Plano de fundo, texto, borda, barra de progresso assistido",Zd="Padrão, Personalizado, Branco, Cinza, Vermelho, Laranja, Amarelo, Verde, Azul, Roxo, Rosa",$d=(Kd="Pressione enter")+"para aceitar a mudança RGB",er="Estilo de miniatura selecionado",tr="Abrir em um player externo",Ir=["Esquerda","Direita"],Pr=["Inferior direito","Centro direito","Superior direito","Centro superior","Superior esquerdo","Centro esquerdo","Inferior esquerdo","Centro inferior"],Mr=["Direita","Centro","Esquerda"],zr="Posição de notificação na tela",Gr=[" Canto superior direito","Centro superior","Esquerda superior","Esquerda inferior","Centro inferior","Direita inferior"],nc=[iu="Desativar","Modo normal, pode causar re-buffers","Modo mais baixo, pode causar ainda mais re-buffers"],nu=[tn+"-"+(ei="Desativado"),tn+"- modo normal",tn+"- Modo mais baixo"],rc="Vídeos controles de retroceder/avançar rápido",cc="Controla os passos dos retrocesso/avanço, ao clicar e segurar para a esquerda/direita o tempo do aumen depois que do tempo limite, ele aumentará até o tempo máximo do passo, após soltar a tecla e não clicar em um segundo, o tempo de passo será redefinido para o tempo mínimo.

Pressionar pra cima irá sobrescrever o valor mim/max, permitindo que você escolha o passo

Fazer cliques únicos sem segurar a tecla não aumentará o tempo

Esta opção só funciona em vídeos para Clip o passo é sempre de 1 segundo",uc="Tempo mínimo (inicial) de passo",fc="Tempo máximo de passo",pc="Aumentar o tempo limite após segurar por",hc="pressione para cima para bloquear o valor do passo",_c="bloqueado pressione para cima para alterar",bc="No chat",yc="Mostrar total de usuários no chat ou visualizações",Pc="Isso é muito útil para saber, por exemplo, se o chat offline tem algum usuário com quem conversar, também deixe o usuário saber a diferença entre o visualizações e o usuário no chat",Ju="Mostrar visualizações",Xu="Mostrar chatters",wc="Jogou",xc="Capítulos",Ac="de",xu="Ocultar relógio da tela principal",wu="Ocultar relógio do player",Au="Ocultar título da tela principal",ku="O título central, Ao vivo, Clip, Configurações etc ...",Su="Ocultar dicas de navegação na tela",ju="Dicas de navegação como, segure uma tecla para uma ação e relacionados",Cu="Minimizar automaticamente o aplicativo quando inativo por",Iu="Impedir que o aplicativo fique executado quando ninguém estiver vendo, um aviso aparecerá dando ao usuário 15 segundos para pressionar qualquer tecla para evitar a minimização",Pu="O aplicativo irá minimizar automaticamente devido à inatividade em

% x

Pressione qualquer tecla para prevenir",Ou="Restantes:",Hu="Visibilidade do status do player",Uu="Configurações de pré-visualização",Ru="Mostrar pré-visualização",Fu="Tamanho da pré-visualização",Qu="Proteção OLED",Yu="Quando ativado, a tela ficará totalmente preta por 50 ms a cada 20 minutos, apenas necessário para dispositivos com telas OLED que apresentam problemas de burn-ins",af="como",tf="milissegundos",of="hora",nf="horas",sf="Direito",lf="Esquerda",df="Inferior",rf="Topo",cf="Méd",uf="Offset",ff="Conteúdo afiliado",pf="Se você não quiser ver o conteúdo de afiliado, desative esta opção.",hf="Este aplicativo possui alguns links afiliados e imagens, de parceiros que possuem produtos altamente recomendados, o proprietário do aplicativo pode receber comissões por compras feitas através desses links, todos os links, imagens ou qualquer coisa relacionada ao produto são devidamente verificados e / ou usados antes de serem exibidos no aplicativo.",mf="O conteúdo afiliado pode ser desabilitado nas configurações.",gf="O histórico do aplicativo mostra o que você assistiu no aplicativo apenas, se o histórico estiver habilitada",vf="a pré-visualização",bf="Clique aqui para sair do player",wf="Tella cheia",kf="Clique, pressione 9 ou F11",xf="Isto não é suportado em um navegador",Af="Aviso navegadores",Sf="Este aplicativo foi projetado para ser usado principalmente em TVs, o suporte para outros dispositivos é limitado. Você pode controlar o aplicativo usando um mouse, mas funciona melhor usando as teclas do teclado para cima, para baixo, esquerda, direita, enter e retornar (ESC funciona como um retornar). ",jf="Clique duas vezes sobre uma ação (para abri-la ou aplicá-la), clique fora da caixa para sair sem aplicar",Cf="Pressione voltar, entrar ou clique fora para fechar",If="Habilitar Live e Vod Twitch player",Pf="Isso só é necessário desativar se você quiser ver o player usado em TVs para verificar suas strings e layout por motivos de teste",Mf="Use o teclado para este recurso",Vf="Falha ao carregar a informação do Video",Tf=", navegue até o painel lateral (opção superior) Usuário: Mudar, adicionar, chave, pressionar enter no usuário",Nf="Habilitado e funcionando",Qf="Se você quiser saber mais sobre ou agradecer ao mantenedor do servidor proxy, use o link:",qf="Desativado nas configurações",Lf="Não funciona, falhou %x vezes",Gf="Configurações de Proxy (Proxy contra censura da Internet e afins)",zf="Somente um proxy pode ser habilitado por vez, Permite que o servidor proxy obtenha links de streaming de um servidor diferente, que pode permitir que você veja conteúdo proibido em sua região e evita anúncios, desative isso se você tiver algum problema de transmissão com Lives como buffers longos e repetidos, travamentos ou conexão lenta que faz com que a qualidade da stream seja reduzida.",Jf="Tempo limite do proxy (tempo em segundos)",Xf='Se o servidor proxy estiver fora, este será o tempo que levará para "desistir" da conexão e retornar à implementação padrão do Twitch',Zf="Pré-Visualização avançar/retrocer",$f="Permite controlar a imagem de pré-visualização ao avançar ou retroceder uma VOD, a vançar/retrocer não está disponível para todos as VODs.",ep="Imagem única",ap="Carrossel de imagens",fp="Confirmar",rp="Sem alterações no conteúdo adulto devido à falta de senha",lp="Proteger alterações maduras com uma senha",cp="Defina uma senha e clique em Confirmar, caso sair irá redefinir as configurações de adulto",up="Digite a senha salva e clique em Confirmar, caso sair irá redefinir as configurações maduras",op="Conteúdo adulto está desabilitado",np="Conteúdo adulto",sp="Quando desativado, o aplicativo bloqueará todo o conteúdo marcado como conteúdo adulto incluído conteúdo de seguidores, isto inclui todas lives marcadas como adultas e todo o conteúdo das seções de clipes e VOD",pp="Tela desligada (somente áudio)",hp="Desbloquear canal",_p="Desbloquear jogo",mp="Bloquear canal",gp="Bloquear jogo",vp="Adicione um usuário antes de poder bloquear",bp="Não é possível obter o canal para este",yp="Mostrar bloqueados",wp="Ordenado por data de bloqueio",xp="Ordenado por nome de A a Z",Ap="Não há conteúdo bloqueado deste tipo",Sp="Sem adicionar um usuário e token de autorização, o aplicativo pode falhar ao carregar o conteúdo, esta é uma limitação da API do Twitch",kp="O aplicativo está falhando ao carregar o conteúdo devido a uma limitação da API do Twitch, para corrigir isso, adicione um usuário e um token de autorização.",jp="Visite %site em outro aparelho e digite o código: %code",Cp="Verificando confirmação de acesso em %d...",Ip="Verificando agora!",Pp="Sem acessar o serviço de adição de usuário",Mp="Aacesso ao usuário atual perdido, revise a seção de usuários"}function Ah(){co="или 2",Zs=$s="или кнопку перемотки",q="Поиск",G="Настройки",z="Управление",R="Описание",U="Скрыть",F="Введенный вами текст пуст.",H="Ничего не найдено.",X=J="Сменить раздел",Q="Сменить: Стримы/Хайлайты",Y="Сменить: Период (24ч, 7д, 30д, все)",K="Перейти в раздел",Z="В эфире",$="Категории",ee="Стрим по",te="Время просмотра",ec="Врмемя ожидания",ie="Уже",ne="Введите ваш запрос...",se="Введите ключ авторизации...",le="Введите имя пользователя...",de="Нажмите кнопку ОК,",re="Каналы",Mi="На пред. экран: кнопка назад",fe="закончился",Vd=", проверка хоста",pe="Видео доступно только для подписчиков.",dc="только для подписчиков.",Tf=", перейдите на боковую панель (верхняя опция) Аккаунт: сменить, добавить, ключ и нажмите ОК",he="Ошибка подключения или тут нет контента. Обновите, чтобы попробовать еще раз",_e="Ошибка подключения или нет контента. Нажмите ОК, чтобы обновить",ve=ae="для",be="Ошибка подключения, невозможно загрузить контент, выход...",ye="Стримы",we="Хайлайты",xe="Клипы",Ae="Контент",Se="Транслировал",ke="Продолжительность",je="Просмотр",Ce="Просмотров",Ie="Зрителей",Me="Нажмите еще раз для выхода!",fo="Нажмите еще раз для выхода из Картинка в Картинке",Ss="Нажмите еще раз для выхода из мультистрима!",Ve="Вы хотите выйти из SmartTV Client для Twitch?",Oe="Выход",Dc=Tc="Изменения",Ec="Это только последние изменения, чтобы прочитать полные, проверьте ссылку ниже:",Bc=L="Обновить",Nc="Проверить обновления",Rc="Проверка обновлений...",Uc="Ошибка проверки",Fc="У вас последняя версия",qc="Последнее обновление:",Gc="Ошибка обновления, попробуйте вручную!",zc="Не удалось загрузить APK-файл, попробуйте вручную!",Hc="Доступно обновление APK",Jc="Web обновление доступно",Qc=", проверьте панель обновлений",Xc="Посл. проверка:",Yc="Обновления",Kc="Проверять обновления в фоне",Wc="Показать диалог обновления, когда обновление доступно",Zc=["Да","Only a toast message",ge="Нет"],$c="Начался процесс обновления, это может занять несколько секунд, подождите!",eu="Если в Play Store не отображается обновление, попробуйте еще раз через несколько минут!",au="Вам нужна версия APK 3.0.303 или выше, чтобы использовать это, обновите",tu="Приложение обновлено успешно",Te="Закрыть",De="Свернуть",Ee="Отмена",Ne="Каналы в эфире",Le="Ретрансляции",qe="Игры в эфире",Ge="Отслеживаемое",ze=W="Аккаунт",Re="Удалить",Ue="Пользователь не существует",Fe="ретранслирует",Je="уже установлено",Xe="Сменить",Qe="Первый пользователь может отслеживать (при добавлении ключа) и видеть трансляции каналов в реальном времени за пределами экрана пользователя",Ye="Добавьте пользователя Twitch, чтобы отображать контент отслеживаемых каналов",Ke="24ч",We="7д",Ze="30д",$e="все",ea="Перемотка",aa="на",ta="Перемотка отменена",ia=", время перемотки больше, чем продолжительность",oa="Сек",na="Мин",sa="Мс",la="Ч",da="Источник",ra="SmartTV Client для Twitch",ca="Нажмите ОК или назад, чтобы закрыть это.",ua="Нажмите назад, чтобы закрыть это.",fa="Нажмите назад, чтобы открыть окно обновления, или ОК, чтобы закрыть это..",pa="Плеер:",ha="Чат:",jn="Показать чат",_a="Текущая установленная версия",ma="последняя доступная версия",ga="Воспроизведение видео: перемещайтесь с помощью нав. панели (вверх/вниз/влево/вправо), нажмите ОК или плей/пауза/кнопка 1",va="Обновить содержимое экрана:",ba="Выход из приложения: на боковой панели нажмите Выход.",Ei="Принудительное закрытие приложения: удерживайте кнопку назад, пока оно не закроется автоматически",ya="Переключить экран: кнопка назад, затем D-Pad"+(xt="Вверх/Вниз")+$s,wa="Начать поиск: на боковой панели нажмите поиск, введите текст, нажмите кнопку ОК на виртуальной клавиатуре и выберите вариант поиска.",xa="Об этом приложении: на боковой панели нажмите Описание",Aa="Это клиент Twitch для Android TV, выпущенный бесплатно для всех, кто хочет им пользоваться.",Sa="Это приложение не связано с Twitch. Это пользовательское приложение, оно работает благодаря тому, что Twitch предоставляет весь API, который позволяет приложению отображать контент Twitch.",Si="Эта версия приложения предназначена только для тестирования в браузере!",ka="Контактная информация:",ja="Это приложение с открытым исходным кодом под лицензией GNU General Public License v3.0, доступно на GitHub.",Ca="Это приложение использует следующие зависимости:",Ia="Поддержка телефонов и планшетов:",Pa="Да, это приложение можно использовать на телефонах и планшетах, но оно предназначено в основном для телевизоров. Поддержка других устройств ограничена из-за их отсутсвия в Play Store. Используйте ссылку ниже для загрузки последней версии APK и установите вручную на телефон/планшет",Ma="Показать информационную панель: нажмите кнопку ОК или кнопки D-pad, если чат и прямой эфир канала не отображаются",Va="Закрыть видео: дважды нажмите кнопку назад или кнопку Стоп.",Oa="Плей/пауза видео: откройте информационную панель и нажмите символ паузы",Ta="Показать ленту превью: D-pad вверх",Da="Изменить качество видео: используйте нижний элемент управления плеером (Качество)",Ea="Принудительно обновить видео (если оно зависает): измените качество видео на такое же.",Ba="Показать или скрыть чат: D-pad вниз или кнопка 3"+(fh="или в нижних элементах управления плеером"),Na="Изменить положение чата: D-pad влево, или перемотка назад (только видео и клипы)"+fh,La="Изменить размер чата: D-pad вправо"+fh,qa="Изменение яркости фона чата: изменените в нижних элементах управления плеером",Ga="Принудительно обновить чат в прямых трансляциях (в случае, если он зависает или не загружается): используйте нижние элементы управления плеера.",za="Начать поиск: откройте инф. панель, перейдите с помощью нав. панели (влево/вправо) в Поиск и нажмите ОК.",cn="Поддерживаются все мультимедийные кнопки (плей,пауза,стоп,перемотка и т.д.).",Ra="Чат и видео: кнопка 2 или кнопка перемотки вперед, переключает между режимом «Картинка в картинке» и режимом 50/50",Ii="Принудительное отключение чата",Ua="Добавление ключа позволяет приложению получать доступ к чату, используя ваш аккаунт. Для отправки сообщений и получения вашего списка эмоций (позволяет получать подарочные подписки в чате), подписываться/отменять подписку на каналы/игры и быстрее получать доступ к некоторому контенту.

Добавление ключа не требует усилий и может быть выполнено в любой момент позже.

Сомневаетесь, прочтите эту ссылку:

%x

Для некоторых устройств необходима мышь для завершения действия авторизации, так как вам может потребоваться вручную нажать кнопку подтверждения.

для добавления ключа",Fa="Добавить ключ",Ha="Ключ добавлен успешно",Ja="Ошибка ключа, нужно добавить новый",Xa="Вы пытаетесь добавить ключ для пользователя",Qa="но этот ключ для пользователя",Ya="Отслеживается",Ka="Отслеживать",Wa="И вы не добавили ключ авторизации, приложение не может проверить ваш саб-статус.",Za="И вы не являетесь подписчиком этого канала",et="Ошибка авторизации ключа, пожалуйста, проверьте и попробуйте еще раз",ni="Добавленный ключ не принадлежит пользователю",at="Нет аккаунта",tt="Установите пользователя и ключ, чтобы иметь возможность подписаться/отписаться",qi="Сначала добавьте пользователя",ot="Перезапустить",nt="Клип",st=ce="Канал",lt="Сеть отключена, приложение не может работать без интернета",dt="Сетевое подключение восстановлено",rt="Фолловеров",ct="Фолловер",ut=", нельзя подписаться или отписаться",ft=oe="Игра",pt="Да",ht="Вы действительно хотите удалить аккаунт",_t="Нажмите вверх для",mt="Отслеживаемые игры",gt="Смена между",vt="Удерж. ОК",bt=["Янв","Фев","Мар","Апр","Май","Июнь","Июль","Авг","Сен","Окт","Ноя","Дек"],yt=["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],wt="Запустил",At="Видео",St=Be="Повтор",kt="выход в",jt="нажмите назад для выхода",It="Создано",Pt="Открыть трансляцию",ef="Онлайн",Mu='Показать "Стример Онлайн" Предупреждение',Vu="При просмотре клипа или видео, приложение может проверить онлайн ли этот стример, если да, появится предупреждение. Чтобы открыть прямую трансляцию, просто используйте опцию нижнего элемента управления плеером.",$r="Нажмите, чтобы открыть чат или дождитесь возвращения в прямой эфир",Rr="Остаться на стриме",Ur="Проверить еще раз, не онлайн ли он",Fr="Проверить, идет ли трансляция:",Hr="Проверяем, в сети ли...",Jr="Последняя проверка:",Xr="Трансляция офлайн",Vt="Нет трансляции",Ot="У этого клипа нет прошлых трансляций",Tt="И из-за этого нет чата",Dt="сейчас",Et="Открыть рейд",Bt="Плеер",Nt="Размер начального буфера:",qt="Сколько необходимо для буферизации перед началом воспроизведения. Это не связано с максимальным размером, которого может достичь буфер (максимальный размер буфера зависит от размера ОЗУ устройства). Более низкое значение приведет к более раннему началу воспроизведения и это рекомендуется. Изменение этого значения на большее значение в большинстве случаев не приведет к улучшению и могут возникнуть проблемы.",zt="Начальный буфер видео (Видео и Хайлайты)",Rt="Начальный буфер клипов",Ut="Язык",Ft="Чат: подключение к",tl="Тайм-аут подключения, ошибка регистрации...",il="Чат: подключен",uu="Сообщение отправлено, включена задержка чата, сообщение будет отображаться в чате после",lo="Чат: задержка",Ht=(jr="Воспроизвести с самого начала или с того места, где вы перестали смотреть")+" Видео?",kr=jr+" Прямой эфир?",Xt=(Jt="С:"+u)+"Начало",Qt="Чат: Чат закончился!",Yt=", Недавние",Kt=", Самые просматриваемые",Wt="Добавьте ключ пользователя, чтобы видеть отслеживаемые видео",Zt="Сменить: последние/популярные",ou="Включить",$t="Включено",Ad="Темный режим",xd="Светлый режим",_i="Приложение было закрыто во время просмотра, воспроизведение восстанавливается",ai="Восстановить воспроизведение",ti="Приложение сохраняет то, что играло, на случай непреднамеренного закрытия. При нехватке памяти система может закрыть приложение или принудительно его может закрыть пользователь. В таком случае, приложение восстановит то, что ранее воспроизводилось, при следующем запуске.",ii="Размер шрифта чата",si="Анимированные превью видео",td="Анимировать превью, когда выбран хайлайт или видео, если для этого видео доступно анимированное превью (не во всех видео оно есть).",li="Боковая панель: D-Pad влево или кнопка назад",di="Размер",ri="Яркость",ci="Запрещенный контент, он ограничен вашим регионом или официальным приложением Twitch.",ui="Шаг перемотки",fi=ro="сек.",hi=pi="мин.",mi="Часы",Ic="Настройте разницу часов приложения в соответствии с вашим часовым поясом",gi="Язык контента",vi="Язык отображаемого контента, стримы, видео, клипы",yi=bi="Язык приложения",Sr="Пусто",ki="Невозможно перейти во время буферизации",ji="Чат принудительно отключен, включите его в нижних элементах управления плеера. Чат принудительно отключен.",Ci="Не удалось загрузить этот клип/видео. Не могу воспроизвести",Pi="Яркость фона чата",Vi="Следующий",Ti="Играет в следующий раз",Oi="Воспроизвести все",Di="Автовоспроизведение следующего клипа",Bi="Назад в главное меню",Ni="Нажмите вверх",_n="Ужерживайте вверх",Li="Акт. каналы",Vr="Диалог запуска Видео",Or="Выберите поведение по умолчанию, при воспроизведении видео. Если информация о нем присутствует в истории пользователя, его можно воспроизводить с того места, где вы последний раз прекращали просмотр. Если для этого параметра установлено значение «всегда с начала», это поведение также будет применяться к предпросмотру видео",Tr="Всегда с самого начала",Dr="Всегда с последней остановки",Er="Всегда спрашивать",ar="Параметры диалога завершения проигрывателя",Gi="Тайм-аут окончания диалога плеера",zi="Когда Live/Видео/Клип заканчиваются, появляется диалоговое окно с опцией, что делать дальше, установите время (в секундах), которое потребуется для действия по умолчанию.",Ri="Отключить таймер",Ui="Размер чата",Fi="Позиция чата",Yi="Режим видео",Bo="Большой+маленький экран",Ji="Видео и чат",Eo="50/50 и чаты",Xi="Скорость",Qi="Качество",Ki="Нормально",Wi="Авто",eo="Очень низкое",ao="Низкое",to="Высокое",io="Очень высокое",oo="Качество превью",no="Разрешение превью по умолчанию для прямых трансляций, видео и игр (не применимо для клипов). Низкое значение поможет приложению загружаться быстрее, но превью может выглядеть размытым.",so="Для пожертвований Paypal используйте ссылку ниже:",Ls="Для пожертвований в биткойнах, используйте адрес кошелька или QR-код:",uo="Ошибка подключения, невозможно загрузить информацию о потоке",po="Рестарт плеера",zu=["Маленький","Большой",bs=xi="Все"],su=[bs,"Сверху слева","Сверху справа","Снизу слева","Снизу справа"],lu=[bs,"Сверху","Снизу слева","Снизу центр","Снизу справа"],yo="Не ограничен",mo="Это используется для предотвращения задержек на слабых устройствах при одновременном воспроизведении нескольких видео (большинство устройств будут отставать, пропуская кадры в этой ситуации, поскольку они созданы для воспроизведения только одного видео), а также помогает ограничить использование пропускной полосы Интернета. В случае, если вам нужно ограничение, которое также установит для параметра «Качество проигрывателя по умолчанию» значение «Авто». Рекомендуемое разрешение/битрейт для всех малых проигрывателей составляет 720p/3 Mbps и неограничено для основного или большого проигрывателя для большинства слабых устройств.",bo="Различные значения разрешения или битрейта для основного и малого плеера могут вызвать короткую буферизацию/загрузку при переключении с основным проигрывателем в режиме Картинка в Картинке (нажатие вниз изменит плееры), чтобы предотвратить установите у них одинаковые значения. Показателем слишком высокого битрейта является постоянное накопление пропущенных кадров или постоянная буферизация потока.",go="Битрейт - "+(vu="Главный плеер, для большого плеера картинка в картинке или верхнего плеера 50/50"),vo="Битрейт - "+(yu="Маленькие плееры, для малого в режиме «Картинка в картинке» и всех мультистрим плееров."),bu="Разрешение - "+vu,yu="Разрешение - "+yu,fu="Заблокированные разрешения",hu="При использовании автоматического качества можно заблокировать одно или несколько разрешений, которые когда-либо будут использоваться, это можно использовать для устройств, которые отстают при воспроизведении определенного разрешения, поскольку клипы не могут воспроизводиться в автоматическом режиме, это также заблокирует автоматический режим этого разрешения в клипах.",_u="Пользователь может перезаписать выделенное вручную во время воспроизведения.

XX означает, что все разрешения, которые начинаются с этого значения до XX, будут запрещены к использованию, если разрешение помечено как заблокированное.",mu="Заблокировано",gu="Не заблокировано",xo="Источник звука",Lu="Аудио и громкость",Du="Аудио включить все",Gu="Все источники звука включены",Eu="Громкость все до 100%",qu="Вся громкость плеера установлена на 100%",Bu="Громкость -",Nu="Аудио -",Zi="Качество плеера по умолчанию",$i='Этот параметр всегда будет учитываться при воспроизведении одного видео. Для воспроизведения режима Картинка в Картинке или Мультистрима необходимо использовать качество авто, поэтому проверьте параметр настроек "'+(ho="Максимально допустимое автоматическое качество (разрешение/битрейт)")+'"',Ao="Картинка в Картинке, 50/50 или Мультистрим (Только для прямых трансляций):",So="Включить режим «Картинка в картинке»: при воспр. видео нажмите вверх, чтобы отобразить предпросмотр. Выберите поток, затем удерживайте «ОК» чтобы начать.",ko="Изменение видеоконтента: из предпросмотра плеера, если в режиме мультистрима всегда одно нажатие. Если на КвК или 50/50 одним нажатием обновляется большое или верхнее видео. Удерживайте кнопку ОК или нажмите 1, чтобы обновить маленькое или нижнее видео",jo="Сменить аудио источник для всех видео: зажать D-pad вниз",Co="Изменение содержимого между видео (только картинка в картинке): D-pad вниз (большой становится маленьким и наоборот)",Io="Изменение положения малого видео (только картинка в картинке): D-pad влево",Po="Изменение размера малого видео (только картинка в картинке): D-pad вправо",Mo="Изменить источник звука: используйте нижний элемент (Источник звука). Если в режиме 50/50 или мультистриме, используйте левую/правую кнопки. Если на КвК, используйте кнопки мультимедиа следующей/предыдущей дорожки.",Vo="Перезапуск плеера: используйте нижний элемент управления (Перезапуск проигрывателя), это перезапустит плееры. Это не синхронизирует содержимое плеера с другим",Oo="Ручная синхронизация плееров: Используйте элемент управления (Скорость) для замедления потока, который спешит, или наоборот. Работает только в режиме КвК",To='Качество видео "Картинка в картинке": проверьте в настройках приложения "'+ho+'"',Do="Закрыть маленькое или нижнее видео (только картинка в картинке): дважды нажмите кнопку назад, чтобы выйти из режима КвК или 50/50",No="Включить режим 50/50 (два потока, два чата): если картинка в картинке включена, нажмите 2 или кнопку для быстрой перемотки вперед или используйте нижние элементы управления «Режим видео»",Ws="Включить мультистрим: используйте нижние элементы управления или медиа-кнопку перемотки",Zr=["Когда отображается информация о плеере","Показывать всегда","Не показывать"],Lo="Однократное нажатие кнопки назад",qo="Закрыть плеер, картинку в картинке, 50/50 или мультистрим, нажав один раз назад.",Zl="Уведомления",zo='Показать "Стример в прямом эфире" для отслеживаемых каналов',Vc='Показать "Стример изменил заголовок" для отслеживаемых каналов',Oc='Показать "Стример изменил игру" для отслеживаемых каналов',Mc='Показать "Игра запущена" для игр, за которые отслеживаются',fl="Уведомление над другими приложениями, когда приложение работает в фоновом режиме",qr="Если вы запретите уведомления для этого приложения в настройках системы, эта функция не будет работать. Если уведомления приложения запущены, и вы выйдете из приложения, уведомление будет отображаться поверх других приложений, даже если это отключено.",Yr="Сколько раз показывать уведомление",Kr="Тайм-аут отдельного уведомления составляет около 3 секунд и не может быть изменен, потому что этот тайм-аут контролируется системой, но вы можете установить, сколько раз будет отображаться одно и то же уведомление.",sc='Запретить показывать "Стример в эфире" для потоков, которые транслируются',lc="Это полезно, чтобы приложение не показывало длинный список уведомлений, когда приложение не используется в течение некоторого времени, например, когда вы выключаете устройство или экран выключен (приложение не будет отображать уведомление, когда устройство включено, но экран выключенный)",Ro="Размер шрифта приложения",Uo="Это изменит размер всего текста и большинства значков в приложении (за вычетом размера шрифта чата, потому что у него есть собственная настройка). Слишком маленькое значение может не отображаться, слишком большое значение выводит текст за границы, то есть это значение ограничено.",Fo="Гл. меню",Ho=Go="Мой канал",Jo="Не в сети",Qo="Использовать закругленные аватары каналов",Yo="Поскольку большинство аватаров каналов имеют квадратную форму, некоторые аватары могут выглядеть некорректно.",Xo="Скрыть счетчик позиции/общего количества",Td="Есть счетчик позиции, который информирует о текущей позиции и общем загруженном контенте на экранах, на которых есть воспроизводимый контент.",Ko="Сменить: Смещение начальной позиции",Wo="Вместо того, чтобы начинать с первого возможного видео, начните с более низкой позиции в списке, чтобы избежать необходимости спускаться вниз и вниз, чтобы найти более старое видео.",$o="Выберете действие для аккаунта",Zo="Пользователь",en="Нажмите на пользователя, чтобы просмотреть параметры",an="Сменить, добавить, ключ",rn="Если есть получать проблемы с буферами, отключите "+(tn="Низкая задержка")+"
Используйте "+(Gt="Начальный буфер стрима")+" равное или меньше 1, чтобы это имело эффект",Cc="Сортировка превью игр",on="Боковая панель или сортировка превью плеера",nn="Сортировка прямых трансляций на боковой панели и превью плеера, при предпросмотре это применимо только к пользователям в эфире и избранным (вся история без базы просмотра, история просматривается в первую очередь, а видео - самые последние)",sn="Алфавит A - Z",ln="Алфавит Z - A",dn="Включить анимации",ad="Управляет боковой панелью, прокруткой, уведомлениями и связанными анимациями",ed="Настройка интерфейса,цветовой стиль,анимация и т.п.",Sc="Настройка контента,сортировка,автообновление,тайм-ауты и т.п.",me="Скрыть боковую панель после 5 секунд неиспользования",un="Приложение работает:",fn="Невозможно получить ссылку на видео",du="Нажмите ОК, чтобы сменить на -",pn="(Нажмите ОК для отписки)",hn="(Нажмите ОК для подписки)",mn="Сегодня",gn="Проп. кадры:",vn="Размер буфера (сек): ",yn="Сет. акт. (мб): ",bn="Ск. сети (мб):",wn="Задержка до стримера (сек): ",cu="Исходя из "+(ru="Задержка до стримера"),dl="Пинг до Twitch (мс): ",Dd="Предупреждения",xn="Добро пожаловать в",Sn="Уведомление для телефонов",kn="Это приложение предназначено для использования в основном на телевизорах, поддержка других устройств не гарантирована. Если у вас нет клавиатуры или D-pad с кнопками ОК и назад (ESC работает для возврата на компьютере) используйте экранные виртуальные экранные кнопки для навигации (видимые только на телефонах/планшетах), в настройках вы можете изменить положение и непрозрачность виртуального D-Pad. Нажмите в любом месте экрана, чтобы отобразить виртуальный D-Pad, когда он скрыт.",Cn="Позиция D-pad",In="Прозрачность D-pad",$l="Настройки D-Pad",Pn="Заблокированные кодеки",Mn="Перечислить возможности используемых кодеков и разрешить/запретить использование кодеков",Dn="Макс. разрешение:",En="Макс. битрейт:",Bn="Макс. уровень:",Nn="Макс. FPS:",gs="Макс. экземпляры:",vs="Неизвестно",Ln="Боковая панель Акт.каналы: на боковой панели D-pad влево или из любого места кнопка 3",zn="История",Rn="Смотрел на",Un="до",Fn="Сортировка",Hn="Удалить эту историю",Ku="Автоматическое удаление недоступного контента",Wu="Если для этого параметра установлено значение ДА, приложение автоматически удалит видео и клипы, которые недоступны (были удалены стримером/создателем) из истории.",Jn="Имя A - Z",Xn="Имя Z - A",Qn="Игра A - Z",Yn="Игра Z - A",Kn="Просмотры самые высокие",Wn="Просмотры самые низкие",kc="Количество каналов наивысшее",jc="Количество каналов наименьшее",Zn="Просмотренные новейшие",$n="Просмотренные старейшие",es="Нажмите ОК, чтобы удалить",as="Эта прямая трансляция теперь видео
открыть видео с того места, где вы в последний раз прекратили смотреть прямую трансляцию:
",ts="Разрешить приложению создавать и восстанавливать резервные копии?
(Пользователи и их история будут зарезервированы)

Нажмите Да, приложение сохранит резервные копии для использования в будущем и восстановит сохраненную резервную копию, если данные приложения пусты..Необходимо предоставить для этого разрешение хранилища приложения, поэтому дайте, прежде чем нажать Да.

Если вы не дадите разрешение на хранение, резервное копирование не будет выполнено..

Папка резервного копирования Main_Storage/data/com.fgl27.twitch/Backup",is="Вы уверены, что хотите удалить все",os="Создано / Новейшее",ns="Создано / Старое",ss="Дополнительные опции",ls="Включить историю",ds="Включить историю видео",rs="Включить историю клипов",cs="Открыть категорию",us="Открыть канал",fs="Нажмите ОК (чтобы открыть или применить). Назад, чтобы выйти без применения",hs="Удалить это из истории",ps="Проверка статуса подписки ...",_s="Обновите экран после удаления, чтобы увидеть изменения.",ms="Удерж. влево для доп. опций",ys="Выбрать для замены на указанное выше?",ws="Нажмите ОК, чтобы заменить. Назад, чтобы выйти без изменения.",xs="Уже воспроизводится",As="Невозможно открыть предпросмотр",$u="Картинка в Картинке",Zu="Ваше устройство поддерживает только %x экземпляры кодека (плеер воспроизводит) одновременно, нельзя использовать",ks="Завершено или пусто",js="Мультистрим",Is="Мультистрим подсказки",Ps="Если зависает мультистрим, снизьте «битрейт малого плеера» в настройках. Пропущенные кадры или постоянная буферизация указывают на слишком высокий битрейт или медленный интернет.",Ms="Добавить стрим: вверх и выберете стрим.",Vs="Заменить стрим: вверх, выберете стрим и выберите один для замены в диалоговом окне.",Os="Изменить источник звука: D-pad вправо/влево, удерживайте вниз для включения звука всех стримов.",Ts="Выход из мультистрима: дважды на кнопку назад.",Ds="Чтобы скрыть это, откройте 4 стрима",wo="КвК: Удерживайте ОК. (Влево для перемещения, Вправо для изм. размера или Вниз для изм. видео)",Bs=", Нажмите на превью, чтобы открыть или заменить поток, используйте D-pad влево/вправо, чтобы изменить источник звука.",Es=", Нажмите Назад, чтобы вернуться в главное меню",Ns="Нажмите назад, чтобы вернуться к",pr="Показать превью на экранах прямых трансляций",_r="Начало воспроизведения с места последней остановки:",hr="Предварительный просмотр на экранах Видео",gr="Предварительный просмотр на экранах Клип",Ar="Когда предварительный просмотр клипа заканчивается, автоматический переход к следующему доступному клипу",nr="Предварительный просмотр на боковой панели",qs="Предварительный просмотр на эскизах превью проигрывателя",Pd="Если вам не нужно или ваше устройство тормозит, когда активно более одного плеера, установите для этого параметра значение НЕТ.",Gs="Отключить превью при включенном мультистриме",Md="По соображениям производительности некоторые устройства могут отставать от некоторых плееров. Если у вас все в порядке на мультистриме, но когда активны плеер превью и мультистрим, устройство лагает, установите для этого параметра значение НЕТ",vr="Превью не загружается:",br="недоступно",Cr=", это видео могло быть удалено",mr="Предпросмотр видео закончился",yr="Плеер не может воспроизвести из-за проблемы с подключением",wr="Плеер не может воспроизвести из-за ошибки плеера",xr=", попробуйте снизить значение битрейта маленького плеера в настройках",dr="Размер превью плеера",rr="Установить размер превью плеера для превью миниатюр",cr=["Маленький","Средний","Большой","Огромный"],Nr="Размер экрана превью",Lr="Установить размер превью",Br=["Маленький","Большой"],zs="Задержка превью",Rs="Установите время задержки, которое займет превью, чтобы начать загрузку после выбора миниатюры. Это помогает медленным устройствами, которые тормозят при прокрутке",ur="Громкость превью",fr="Установки, какая будет громкость превью ленты",sr="Главная громкость плееров",lr="Громкость основного плеера (все плееры - картинка в картинке, мультистрим плееры) может быть меньше, когда отображается проигрыватель превью",Wl="Настройки плеера превью",Us="Всегда запускать приложение на экране пользователя",od="Это предотвратит работу восстановления воспроизведения, но позволит выбрать пользователя при запуске приложения.",Fs="посл. обновление:",Hs="Выйдите из КвК или Мультистрима, чтобы открыть это видео",Js='Показать "служба спец. возможностей работает с предупреждением"',id="Если на устройстве включена служба спец. возможностей, приложение покажет предупреждение, это известная проблема Android, что служба спец. возможностей может тормозить некоторые устройства и вызывать зависания или задержки в этом приложении..",Xs="Cлужба(ы) спец. возможностей обнаружены",Qs="Подробнее читайте по этой ссылке:",Ys="Если у вас есть проблемы с зависанием или задержкой, закройте приложение и отключите все службы спец. возможностей, это должно помочь.
Чтобы больше никогда не отображать это предупреждение, отключите его в настройках",Ks="Тайм-аут автообновления",nd="Когда этот параметр включен, приложение будет автоматически обновлять раздел или эскизы превью, обновление происходит только тогда, когда выбран раздел, если вы хотите обновлять в фоновом режиме, включите",ic="Автообновление в фоновом режиме",oc="Когда установлен и включен параметр «тайм-аут автообновления», автообновление будет происходить в фоновом режиме (но когда приложение отображается, Android не позволяет неограниченно запускать в фоновом режиме, чтобы избежать проблем с другими приложениями). Когда вы вернетесь к экрану, на котором раньше обновление не запускалось, имейте в виду, что в приложении слишком много экранов. Когда этот параметр включен, автообновление может вызвать случайные лаги на некоторых слабых устройствах.",al="Основное видео",el=(ol="Основное видео мультистрима")+" и чат: нажмите вниз, затем используйте влево/вправо, чтобы изменить.",ac="Авто изменение качества плеера с источника на авто, когда проигрыватель отстает",tc="Когда эта опция включена, и вы не используете авто качество плеера, если плеер не может воспроизвести более 15 секунд он переключится на авто качество и предупредит об этом. После этого изменения плеер автоматически вернется к источнику, когда вы включите новый стрим или видео",nl='Плеер тормозит, качество изменено на"Авто режим"',rl="Плеер тормозит, качество снижено",sl="Превью, трансляция завершена"+(ll="или слишком много ошибок"),cl="Перемотка (только для видео и клипов): используйте D-pad вправо/влево или кнопки для быстрой перемотки вперед/назад",ul="Часть звука отключена, поскольку содержит контент, защищенный авторским правом, более темный цвет на панели поиска указывает эти на части",pl="подарил вам подписку!",Od="анонимный",hl="Вы забанены на этом канале",_l="Написать в чат",Tu="Доп. настройки чата",ml="Когда этот параметр выбран, нажмите ОК, чтобы отобразить экранную клавиатуру. Если у вас подключена физическая клавиатура, нажмите назад или esc, чтобы скрыть экранную клавиатуру.",gl="Чат канала:",vl="Нет ограничений",sd="Опции",yl="Удалить все",Bl="Unicode Эмодзи",wl="Смайлы Twitch",xl="BTTV глобальные",Al="BTTV стримера",Sl="FFZ глобальные",kl="FFZ стримера",jl="7TV глобальные",Cl="7TV стримера",Il="@стример",Pl="В чате ожидаемый результат:",Ml="Отправить",Vl="Этот список эмоций пуст",Ol=Ol="Чат доступен только для подписчиков, и вы не являетесь подписчиком",Tl="вы подписаны только",Dl="Режим только смайлики",El="Выберите чат, в который хотите написать, или нажмите кнопку назад, чтобы закрыть это",Nl="Написать для опций чата",Ll="Авто скрытие клавиатуры",ql="Позволяет управлять поведением экранной клавиатуры, если у вас подключена физическая клавиатура, используйте ее, если не установлено Никогда",Gl="Никогда",zl="Если клавиатура обнаружена",Rl="Всегда",Ul="Сортировка смайлов",Hl="Если это отключено, списки смайлов будут отображаться по умолчанию.",Jl="Принудительно показать чат",Xl="Если вы хотите видеть чат, когда пишите в чат, включите это",Fl="Добавьте ключ пользователя, чтобы иметь возможность входить и писать в чат",Ql="Чат не готов! Попробуйте еще раз через несколько секунд.",Yl="Активировано Выделите мое сообщение",Kl="Активировано Отправить сообщение в режиме для подписчиков",bl="Настройки чата",vd="Выделить сообщения от стримера (темно-розовый фон)",bd="Выделить сообщения от модератора (темно-голубой фон)",yd="Выделить сообщения о наградах (только сообщение с фиолетовым фоном)",ld="Выделить сообщения @streamer (темно-красный фон, @синий)",dd="Выделить сообщения вам @username (темно-зеленый фон, @синий)",rd="Выделить свои отправленные сообщения (темно-зеленый фон)",cd="Выделить сообщения подписчиков в чате (темно-оранжевый фон)",ud="Выделить сообщения Bits (темно-желтый фон)",fd="Сообщения действий (обычно это сообщения ботов стрима)",pd="Эти сообщения обычно аналогичны сообщениям подписчиков, но отправляются через стрим бота, поэтому, если у вас включен параметр «Выделить сообщения подписчиков...», это не нужно.",hd="Разница в цвете фона отдельных сообщений",_d="Отключить, Включить (авто), Светлый или Темный, В автоматическом режиме, если чат находится над стримом, у нечетного сообщения будет более темный фоновый цвет по сравнению с четным, если чат не выше (например, рядом) цвет будет ярким",wd="Вставить строку, чтобы разделить отдельные сообщения чата",oi="Анимированная прокрутка при добавлении нового сообщения в чат",md="Вход в чат с текущим пользователем",gd="Приложение всегда будет входить в чат с использованием текущего пользователя, если предоставлен ключ авторизации (если только чат не отключен на нижних элементах управления плеера). Но если для этого параметра установлено значение НЕТ, это предотвратит вход с использованием текущего имени пользователя и вместо этого будет входить как анонимный, даже если предоставлен ключ авторизации. Это не препятствует отправке сообщений в чат (если добавлен ключ), но не позволяет узнать Twitch, заблокированы ли вы в чате, и не позволяет узнать нахождение в чате",_f="Блокировать отображение ботов и команды ботов (!команда) в чате",Wr="Показать время сообщения",Sd="Читаемые цвета ников",kd="Вместо использования цвета ников по умолчанию, который иногда не читается на темном фоне, использовать настраиваемый, удобный для чтения цвет.",ir="Очистка чата, удаление сообщений пользователей",mc="Это сообщение пользователя было запрошено на удаление",gc="Все сообщения от этого пользователя были запрошены на удаление",vc=", тайм-аут на",or="Удалять сообщения от определенного пользователя (обычно после того, как он получил тайм-аут или бан). Удаленные сообщения будут иметь синий фон (если не изменялся цвет фона). Сообщение будет удалено, если стоит значение «Да»",jd="Всегда открывать рейд в конце стрима, если он доступен",Qr="Всегда оставлять плеер открытым после окончания стрима",Cd='Показать "Предупреждение об ошибке Ping to Twitch"',Id="Приложение постоянно проверяет соединение с Twitch с помощью пинга. Если это не удается, будет отображаться предупреждение, если это предупреждение отображается непреднамеренно, установите для этого параметра значение НЕТ",Ed="Тайм-аут удержания кнопки (в миллисекундах)",Bd="Как долго вам нужно удерживать кнопку для действия удержания, действия обновляют экран, показывают параметры эскизов и т.д.",Nd="Текущий стиль",Ld="Новый стиль",qd="Нажмите вверх/вниз, чтобы выбрать. Нажмите назад, чтобы выйти.",Gd="Оттенок",Ud="Без цвета",Fd="Белый",Hd="Серый",Jd="Черный",zd="Цвета",Rd="Результат",Xd="Применить изменения",Qd="Тип цвета",Yd="Стили",Wd="Фон,Текст,Граница,Индикатор просмотра",Zd="По умолчанию,Пользовательский,Белый,Серый,Красный,Оранжевый,Желтый,Зеленый,Синий,Фиолетовый,Розовый",$d=(Kd=wi="Нажмите ОК")+" принять изменение RGB",er="Выбранный стиль превью",tr="Открыть во внешнем плеере",Ir=["Слева","Справа"],Pr=["Внизу справа","Центр справа","Сверху справа","Центр сверху","Сверху слева","Центр слева","Снизу слева","Центр снизу"],Mr=["Справа","Центр","Слева"],zr="Позиция уведомления",Gr=["Правый верх","Центр верх","Левый верх","Левый низ","Центр снизу","Правый низ"],nc=[iu="Отключить","Нормальный режим, может вызвать повторную буферизацию","Минимальный режим, может вызвать еще большее количество повторных буферизаций"],nu=[tn+" - "+(ei="Отключено"),tn+" - Нормальный режим",tn+" - Минимальный режим"],rc="Видео быстрая перемотка назад/вперед",cc="Управляет тем, насколько быстро будет выполняться переход назад/вперед. При нажатии и удерживании влево/вправо время шага увеличится. После истечения тайм-аута увеличения, оно увеличится до максимального времени шага. После отпускания кнопки и отсутствия нажатия в течение одной секунды время шага будет сброшено обратно на минимальное время шага.

Нажатие вверх перезапишет минимальное/максимальное значение, позволяя вам пройти через все возможные шаги, и заблокирует значение, пока индикатор выполнения не исчезнет

Выполнение одиночных нажатий без удержания кнопки не увеличит время

Эти параметры работают только с видео. Для клипа, шаг всегда составляет 1 секунду",uc="Минимальное (стартовое) время шага",fc="Максимальное время шага",pc="Увеличить тайм-аут после удержания в течение",hc="нажмите вверх, чтобы зафиксировать значение шага",_c="заблокировано нажмите вверх, чтобы изменить",bc="В чате",yc="Показывать общее количество пользователей или зрителей поверх чата",Pc="Это очень полезно, например, узнать, есть ли в чате какой-либо пользователь, с которым можно поговорить, а также узнать разницу зрители/пользователи чата.",Ju="Показать зрителей",Xu="Показать пользователей",wc="Воиспроизведено",xc="Части",Ac="с",xu="Скрыть часы на главном экране",wu="Скрыть часы в плеере",Au="Скрыть заголовок текущего экрана",ku="Центральный заголовок,Прямая трансляция,Клип,Настройки и т.д.",Su="Скрыть подсказки по экранной навигации",ju="Советы по навигации: удержание кнопок для действий и другие",Cu="Автоматически сворачивать приложение, когда оно неактивно",Iu="Закрывать приложение, когда его никто не использует. Появится предупреждение, дающее пользователю 15 секунд, чтобы нажать любую кнопку, чтобы предотвратить закрытие",Pu="Приложение автоматически закроется

%x

Нажмите любую кнопку, чтобы отменить",Ou="Осталось:",Hu="Окно диагностики",Uu="Настройки предпросмотра",Ru="Показать предпросмотр",Fu="Размер превью",Qu="OLED Защита от выгорания",Yu="Когда этот параметр включен, экран станет полностью черным на 50 мс каждые 20 минут, требуется только для устройств с OLED-дисплеями, у которых есть проблемы с выгоранием.",af="как",tf="мc",nf=of="ч.",sf="Справа",lf="Слева",df="Снизу",rf="Сверху",cf="ср.",uf="Смещение",ff="Партнерский контент",pf="Если вы не хотите видеть партнерский контент, отключите его.",hf="В приложении есть некоторые ссылки и изображения от партнеров, у которых есть рекомендуемые товары. Владелец приложения может получать комиссионные за покупки, сделанные по этим ссылкам. Все ссылки, изображения или что-либо, относящееся к продукту, должным образом проверяются и используются перед показом в приложении.",mf="Партнерский контент можно отключить в настройках.",gf="История показывает что вы смотрели в приложении только если она включена",vf="превью",yf="Встроить плеер ",bf="Нажмите, чтобы выйти из плеера",wf=Hi="Полный экран",kf="Кликните, нажмите 9 или F11",xf="Это не поддерживается браузером",Af="Предупреждение браузера",Sf="Это приложение предназначено для использования на ТВ, поддержка других устройств ограничена. Вы можете управлять приложением с помощью мыши, но лучше использовать клавиши вверх, вниз, влево, вправо, ввод и возврат (ESC работает как возврат).",jf="Нажмите дважды над действием (чтобы открыть или применить), щелкните за пределами диалогового окна, чтобы выйти без применения",Cf="Нажмите назад, ОК или щелкните за пределами, чтобы закрыть это",If="Включить Live и Vod Twitch плеер",Pf="Это нужно отключить только, если вы хотите увидеть ТВ-плеер, чтобы проверить его строки и протестировать.",Mf="Используйте клавиатуру для этой функции",Vf="Ошибка загрузки информации о VOD"}var Sh='[{"unicode":"😀","code":"grin","id":"0_grin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f600.png"},{"unicode":"😃","code":"smile","id":"1_smile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f603.png"},{"unicode":"😄","code":"smile2","id":"2_smile2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f604.png"},{"unicode":"😁","code":"smile3","id":"3_smile3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f601.png"},{"unicode":"😆","code":"satisfied","id":"4_satisfied","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f606.png"},{"unicode":"😅","code":"sweat","id":"5_sweat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f605.png"},{"unicode":"🤣","code":"rolling","id":"6_rolling","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f923.png"},{"unicode":"😂","code":"tear","id":"7_tear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f602.png"},{"unicode":"🙂","code":"smile4","id":"8_smile4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f642.png"},{"unicode":"🙃","code":"smile-upside-down","id":"9_smile-upside-down","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f643.png"},{"unicode":"😉","code":"wink","id":"10_wink","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f609.png"},{"unicode":"😊","code":"smile-blush","id":"11_smile-blush","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60a.png"},{"unicode":"😇","code":"angel","id":"12_angel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f607.png"},{"unicode":"🥰","code":"adore","id":"13_adore","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f970.png"},{"unicode":"😍","code":"smile-love","id":"14_smile-love","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60d.png"},{"unicode":"🤩","code":"smile-star","id":"15_smile-star","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f929.png"},{"unicode":"😘","code":"kiss","id":"16_kiss","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f618.png"},{"unicode":"😗","code":"kiss2","id":"17_kiss2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f617.png"},{"unicode":"☺️","code":"relaxed","id":"18_relaxed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/263a.png"},{"unicode":"😚","code":"kiss3","id":"19_kiss3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61a.png"},{"unicode":"😙","code":"kis4","id":"20_kis4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f619.png"},{"unicode":"😋","code":"delicious","id":"21_delicious","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60b.png"},{"unicode":"😛","code":"tongue","id":"22_tongue","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61b.png"},{"unicode":"😜","code":"tongue-wink","id":"23_tongue-wink","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61c.png"},{"unicode":"🤪","code":"goofy","id":"24_goofy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92a.png"},{"unicode":"😝","code":"tongue-><","id":"25_tongue-><","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61d.png"},{"unicode":"🤑","code":"face-money","id":"26_face-money","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f911.png"},{"unicode":"🤗","code":"hugging","id":"27_hugging","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f917.png"},{"unicode":"🤭","code":"whoops","id":"28_whoops","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92d.png"},{"unicode":"🤫","code":"quiet","id":"29_quiet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92b.png"},{"unicode":"🤔","code":"thinking","id":"30_thinking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f914.png"},{"unicode":"🤐","code":"zipper","id":"31_zipper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f910.png"},{"unicode":"🤨","code":"skeptic","id":"32_skeptic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f928.png"},{"unicode":"😑","code":"unexpressive","id":"33_unexpressive","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f611.png"},{"unicode":"😶","code":"silent","id":"34_silent","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f636.png"},{"unicode":"😏","code":"smirk","id":"35_smirk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60f.png"},{"unicode":"😒","code":"unhappy","id":"36_unhappy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f612.png"},{"unicode":"🙄","code":"eyeroll","id":"37_eyeroll","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f644.png"},{"unicode":"😬","code":"grimace","id":"38_grimace","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62c.png"},{"unicode":"🤥","code":"pinocchio","id":"39_pinocchio","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f925.png"},{"unicode":"😌","code":"relieved","id":"40_relieved","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60c.png"},{"unicode":"😔","code":"pensive","id":"41_pensive","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f614.png"},{"unicode":"😪","code":"sleep","id":"42_sleep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62a.png"},{"unicode":"🤤","code":"drooling-face","id":"43_drooling-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f924.png"},{"unicode":"😴","code":"sleep-face","id":"44_sleep-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f634.png"},{"unicode":"😷","code":"cold-face","id":"45_cold-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f637.png"},{"unicode":"🤒","code":"sick-face","id":"46_sick-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f912.png"},{"unicode":"🤕","code":"bandage-face","id":"47_bandage-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f915.png"},{"unicode":"🤢","code":"nauseated-face","id":"48_nauseated-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f922.png"},{"unicode":"🤮","code":"sick-face","id":"49_sick-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92e.png"},{"unicode":"🤧","code":"sneeze","id":"50_sneeze","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f927.png"},{"unicode":"🥵","code":"feverish","id":"51_feverish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f975.png"},{"unicode":"🥶","code":"blue-faced","id":"52_blue-faced","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f976.png"},{"unicode":"🥴","code":"intoxicated","id":"53_intoxicated","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f974.png"},{"unicode":"😵","code":"dizzy","id":"54_dizzy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f635.png"},{"unicode":"🤯","code":"mind blown","id":"55_mind blown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92f.png"},{"unicode":"🤠","code":"cowboy","id":"56_cowboy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f920.png"},{"unicode":"🥳","code":"celebration","id":"57_celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f973.png"},{"unicode":"😎","code":"cool-face","id":"58_cool-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f60e.png"},{"unicode":"🤓","code":"cool","id":"59_cool","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f913.png"},{"unicode":"🧐","code":"stuffy","id":"60_stuffy","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9d0.png"},{"unicode":"😕","code":"confused","id":"61_confused","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f615.png"},{"unicode":"😟","code":"worried","id":"62_worried","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61f.png"},{"unicode":"🙁","code":"frown","id":"63_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f641.png"},{"unicode":"☹️","code":"frown","id":"64_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2639.png"},{"unicode":"😮","code":"mouth-open","id":"65_mouth-open","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62e.png"},{"unicode":"😯","code":"surprised","id":"66_surprised","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62f.png"},{"unicode":"😲","code":"astonished","id":"67_astonished","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f632.png"},{"unicode":"😳","code":"dazed","id":"68_dazed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f633.png"},{"unicode":"🥺","code":"puppy eyes","id":"69_puppy eyes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97a.png"},{"unicode":"😦","code":"frown","id":"70_frown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f626.png"},{"unicode":"😧","code":"anguished","id":"71_anguished","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f627.png"},{"unicode":"😨","code":"fearful","id":"72_fearful","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f628.png"},{"unicode":"😰","code":"fearful2","id":"73_fearful2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f630.png"},{"unicode":"😥","code":"disappointed","id":"74_disappointed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f625.png"},{"unicode":"😢","code":"cry-face","id":"75_cry-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f622.png"},{"unicode":"😭","code":"cry-face2","id":"76_cry-face2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62d.png"},{"unicode":"😱","code":"fear-face","id":"77_fear-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f631.png"},{"unicode":"😖","code":"confounded","id":"78_confounded","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f616.png"},{"unicode":"😣","code":"persevere","id":"79_persevere","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f623.png"},{"unicode":"😞","code":"disappointed","id":"80_disappointed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f61e.png"},{"unicode":"😓","code":"cold","id":"81_cold","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f613.png"},{"unicode":"😩","code":"weary","id":"82_weary","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f629.png"},{"unicode":"😫","code":"tired","id":"83_tired","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f62b.png"},{"unicode":"😤","code":"triumph","id":"84_triumph","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f624.png"},{"unicode":"😡","code":"angry","id":"85_angry","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f621.png"},{"unicode":"😠","code":"mad","id":"86_mad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f620.png"},{"unicode":"🤬","code":"swearing","id":"87_swearing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f92c.png"},{"unicode":"😈","code":"devil","id":"88_devil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f608.png"},{"unicode":"👿","code":"demon","id":"89_demon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47f.png"},{"unicode":"💀","code":"death","id":"90_death","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f480.png"},{"unicode":"☠️","code":"crossbones","id":"91_crossbones","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2620.png"},{"unicode":"💩","code":"poop","id":"92_poop","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a9.png"},{"unicode":"🤡","code":"clown","id":"93_clown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f921.png"},{"unicode":"👹","code":"creature","id":"94_creature","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f479.png"},{"unicode":"👺","code":"creature2","id":"95_creature2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47a.png"},{"unicode":"👻","code":"ghost","id":"96_ghost","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47b.png"},{"unicode":"👾","code":"alien","id":"97_alien","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f47e.png"},{"unicode":"🤖","code":"robot","id":"98_robot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f916.png"},{"unicode":"😺","code":"cat-face","id":"99_cat-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63a.png"},{"unicode":"😸","code":"cat-smile","id":"100_cat-smile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f638.png"},{"unicode":"😹","code":"cat-tear","id":"101_cat-tear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f639.png"},{"unicode":"😻","code":"cat-heart","id":"102_cat-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63b.png"},{"unicode":"😼","code":"cat-ironic","id":"103_cat-ironic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63c.png"},{"unicode":"😽","code":"cat-kiss","id":"104_cat-kiss","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63d.png"},{"unicode":"🙀","code":"cat-surprised","id":"105_cat-surprised","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f640.png"},{"unicode":"😿","code":"cat-sad","id":"106_cat-sad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63f.png"},{"unicode":"😾","code":"cat-pouting","id":"107_cat-pouting","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f63e.png"},{"unicode":"👋","code":"hand-wave","id":"108_hand-wave","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44b.png"},{"unicode":"🤚","code":"backhand","id":"109_backhand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91a.png"},{"unicode":"🖐️","code":"hand-open-finger","id":"110_hand-open-finger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f590.png"},{"unicode":"✋","code":"hand","id":"111_hand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270b.png"},{"unicode":"🖖","code":"hand-vulcan","id":"112_hand-vulcan","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f596.png"},{"unicode":"👌","code":"hand-ok","id":"113_hand-ok","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44c.png"},{"unicode":"✌️","code":"hand-v","id":"114_hand-v","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270c.png"},{"unicode":"🤞","code":"hand-cross","id":"115_hand-cross","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91e.png"},{"unicode":"🤟","code":"hand-ily","id":"116_hand-ily","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91f.png"},{"unicode":"🤘","code":"hand-horns","id":"117_hand-horns","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f918.png"},{"unicode":"🤙","code":"hand-call","id":"118_hand-call","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f919.png"},{"unicode":"🖕","code":"hand-finger","id":"119_hand-finger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f595.png"},{"unicode":"👈","code":"hand-point","id":"120_hand-point","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f448.png"},{"unicode":"👇","code":"hand-poin2","id":"121_hand-poin2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f447.png"},{"unicode":"☝️","code":"hand-point3","id":"122_hand-point3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/261d.png"},{"unicode":"👍","code":"hand-thumb-up","id":"123_hand-thumb-up","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44d.png"},{"unicode":"👎","code":"hand-thumb-down","id":"124_hand-thumb-down","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44e.png"},{"unicode":"✊","code":"hand-punch","id":"125_hand-punch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270a.png"},{"unicode":"👊","code":"hand-punch2","id":"126_hand-punch2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44a.png"},{"unicode":"🤛","code":"hand-punch3","id":"127_hand-punch3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91b.png"},{"unicode":"🤜","code":"hand-punch4","id":"128_hand-punch4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91c.png"},{"unicode":"👏","code":"hand-clap","id":"129_hand-clap","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f44f.png"},{"unicode":"🙌","code":"hand-celebration","id":"130_hand-celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64c.png"},{"unicode":"👐","code":"hand-open","id":"131_hand-open","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f450.png"},{"unicode":"🤲","code":"hand-prayer","id":"132_hand-prayer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f932.png"},{"unicode":"🤝","code":"hand-agreement","id":"133_hand-agreement","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f91d.png"},{"unicode":"🙏","code":"hand-please","id":"134_hand-please","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64f.png"},{"unicode":"✍️","code":"hand-write","id":"135_hand-write","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270d.png"},{"unicode":"💅","code":"cosmetics","id":"136_cosmetics","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f485.png"},{"unicode":"🤳","code":"self","id":"137_self","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f933.png"},{"unicode":"💪","code":"muscle","id":"138_muscle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4aa.png"},{"unicode":"🦵","code":"kick","id":"139_kick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b5.png"},{"unicode":"🦶","code":"kick2","id":"140_kick2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b6.png"},{"unicode":"👂","code":"ear","id":"141_ear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f442.png"},{"unicode":"👃","code":"nose","id":"142_nose","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f443.png"},{"unicode":"🧠","code":"brain","id":"143_brain","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e0.png"},{"unicode":"🦷","code":"tooth","id":"144_tooth","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9b7.png"},{"unicode":"👀","code":"eyes","id":"145_eyes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f440.png"},{"unicode":"👁️","code":"eye","id":"146_eye","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f441.png"},{"unicode":"👅","code":"tongue2","id":"147_tongue2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f445.png"},{"unicode":"👄","code":"lips","id":"148_lips","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f444.png"},{"unicode":"👶","code":"baby","id":"149_baby","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f476.png"},{"unicode":"👨‍🦲","code":"bald","id":"150_bald","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f9b2.png"},{"unicode":"👴","code":"old-man","id":"151_old-man","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f474.png"},{"unicode":"👵","code":"old-woman","id":"152_old-woman","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f475.png"},{"unicode":"🔥","code":"fire","id":"153_fire","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f525.png"},{"unicode":"👨‍🚒","code":"firefighter","id":"154_firefighter","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f692.png"},{"unicode":"👩‍🚒","code":"firefighter2","id":"155_firefighter2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f469-200d-1f692.png"},{"unicode":"👮‍♂️","code":"police-officer","id":"156_police-officer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f46e-200d-2642-fe0f.png"},{"unicode":"👮‍♀️","code":"police-officer-woman","id":"157_police-officer-woman","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f46e-200d-2640-fe0f.png"},{"unicode":"👨‍👩‍👧‍👦","code":"family","id":"158_family","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f468-200d-1f469-200d-1f467-200d-1f466.png"},{"unicode":"🙈","code":"monkey-see","id":"159_monkey-see","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f648.png"},{"unicode":"🙉","code":"monkey-hear","id":"160_monkey-hear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f649.png"},{"unicode":"🙊","code":"monkey-speak","id":"161_monkey-speak","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f64a.png"},{"unicode":"💋","code":"kiss-lips","id":"162_kiss-lips","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48b.png"},{"unicode":"💌","code":"heart-letter","id":"163_heart-letter","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48c.png"},{"unicode":"💘","code":"arrow-cupid","id":"164_arrow-cupid","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f498.png"},{"unicode":"💝","code":"valentine","id":"165_valentine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49d.png"},{"unicode":"💖","code":"sparkle-heart","id":"166_sparkle-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f496.png"},{"unicode":"💗","code":"pulse","id":"167_pulse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f497.png"},{"unicode":"💓","code":"beating","id":"168_beating","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f493.png"},{"unicode":"💞","code":"revolving","id":"169_revolving","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49e.png"},{"unicode":"💕","code":"love","id":"170_love","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f495.png"},{"unicode":"❣️","code":"exclamation","id":"171_exclamation","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2763.png"},{"unicode":"💔","code":"broken-heart","id":"172_broken-heart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f494.png"},{"unicode":"💟","code":"heart-Decoration","id":"173_heart-Decoration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49f.png"},{"unicode":"🖤","code":"heart-black","id":"174_heart-black","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a4.png"},{"unicode":"🤎","code":"heart-brown","id":"175_heart-brown","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f90e.png"},{"unicode":"💙","code":"heart-blue","id":"176_heart-blue","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f499.png"},{"unicode":"💚","code":"heart-green","id":"177_heart-green","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49a.png"},{"unicode":"🧡","code":"heart-orange","id":"178_heart-orange","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e1.png"},{"unicode":"💜","code":"heart-purple","id":"179_heart-purple","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49c.png"},{"unicode":"❤️","code":"heart-red","id":"180_heart-red","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2764.png"},{"unicode":"🤍","code":"black-white","id":"181_black-white","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f90d.png"},{"unicode":"💛","code":"heart-yellow","id":"182_heart-yellow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f49b.png"},{"unicode":"💯","code":"hundred","id":"183_hundred","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4af.png"},{"unicode":"💢","code":"mad","id":"184_mad","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a2.png"},{"unicode":"💥","code":"boom","id":"185_boom","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a5.png"},{"unicode":"💫","code":"stars","id":"186_stars","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ab.png"},{"unicode":"💦","code":"splashing","id":"187_splashing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a6.png"},{"unicode":"💨","code":"comic-dash","id":"188_comic-dash","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a8.png"},{"unicode":"🕳️","code":"hole","id":"189_hole","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f573.png"},{"unicode":"💬","code":"balloon-dialog","id":"190_balloon-dialog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ac.png"},{"unicode":"🗨️","code":"dialog","id":"191_dialog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5e8.png"},{"unicode":"🗯️","code":"angry-balloon","id":"192_angry-balloon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5ef.png"},{"unicode":"💭","code":"balloon-bubble","id":"193_balloon-bubble","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ad.png"},{"unicode":"💤","code":"comic-sleep","id":"194_comic-sleep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a4.png"},{"unicode":"🕶️","code":"glasses-dark","id":"195_glasses-dark","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f576.png"},{"unicode":"🥽","code":"glasses-swimming","id":"196_glasses-swimming","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97d.png"},{"unicode":"🥼","code":"scientist","id":"197_scientist","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97c.png"},{"unicode":"👔","code":"tie","id":"198_tie","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f454.png"},{"unicode":"👕","code":"tshirt","id":"199_tshirt","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f455.png"},{"unicode":"👖","code":"pants","id":"200_pants","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f456.png"},{"unicode":"🧣","code":"neck","id":"201_neck","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e3.png"},{"unicode":"🧤","code":"hand","id":"202_hand","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e4.png"},{"unicode":"🧥","code":"jacket","id":"203_jacket","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e5.png"},{"unicode":"🧦","code":"stocking","id":"204_stocking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e6.png"},{"unicode":"👗","code":"clothing","id":"205_clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f457.png"},{"unicode":"👘","code":"clothing2","id":"206_clothing2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f458.png"},{"unicode":"👙","code":"swim-clothing","id":"207_swim-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f459.png"},{"unicode":"👚","code":"woman-clothing","id":"208_woman-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45a.png"},{"unicode":"👛","code":"coin-clothing","id":"209_coin-clothing","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45b.png"},{"unicode":"👜","code":"purse","id":"210_purse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45c.png"},{"unicode":"👝","code":"pouch","id":"211_pouch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45d.png"},{"unicode":"🛍️","code":"shopping-bag","id":"212_shopping-bag","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6cd.png"},{"unicode":"🎒","code":"school-bag","id":"213_school-bag","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f392.png"},{"unicode":"👞","code":"shoe","id":"214_shoe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45e.png"},{"unicode":"👟","code":"sneaker","id":"215_sneaker","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f45f.png"},{"unicode":"🥾","code":"hiking-boot","id":"216_hiking-boot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97e.png"},{"unicode":"🥿","code":"ballet flat","id":"217_ballet flat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f97f.png"},{"unicode":"👠","code":"woman-shoe","id":"218_woman-shoe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f460.png"},{"unicode":"👡","code":"woman-shoe2","id":"219_woman-shoe2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f461.png"},{"unicode":"👢","code":"woman-boot","id":"220_woman-boot","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f462.png"},{"unicode":"👑","code":"king","id":"221_king","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f451.png"},{"unicode":"👒","code":"hat","id":"222_hat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f452.png"},{"unicode":"🎩","code":"tophat","id":"223_tophat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a9.png"},{"unicode":"🧢","code":"baseball cap","id":"224_baseball cap","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9e2.png"},{"unicode":"⛑️","code":"aid","id":"225_aid","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26d1.png"},{"unicode":"📿","code":"beads","id":"226_beads","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ff.png"},{"unicode":"💄","code":"lipstick","id":"227_lipstick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f484.png"},{"unicode":"💍","code":"diamond-ring","id":"228_diamond-ring","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48d.png"},{"unicode":"💎","code":"diamond","id":"229_diamond","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48e.png"},{"unicode":"🔇","code":"mute","id":"230_mute","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f507.png"},{"unicode":"🔉","code":"medium","id":"231_medium","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f509.png"},{"unicode":"🔊","code":"loud","id":"232_loud","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50a.png"},{"unicode":"📢","code":"loud2","id":"233_loud2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e2.png"},{"unicode":"📣","code":"cheering","id":"234_cheering","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e3.png"},{"unicode":"📯","code":"horn","id":"235_horn","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ef.png"},{"unicode":"🔔","code":"bell","id":"236_bell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f514.png"},{"unicode":"🔕","code":"bell","id":"237_bell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f515.png"},{"unicode":"🎼","code":"music-score","id":"238_music-score","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3bc.png"},{"unicode":"🎵","code":"music-note","id":"239_music-note","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b5.png"},{"unicode":"🎶","code":"music-notes","id":"240_music-notes","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b6.png"},{"unicode":"🎙️","code":"microphone","id":"241_microphone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f399.png"},{"unicode":"🎤","code":"microphone2","id":"242_microphone2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a4.png"},{"unicode":"🎷","code":"sax","id":"243_sax","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b7.png"},{"unicode":"🎸","code":"guitar","id":"244_guitar","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b8.png"},{"unicode":"🎹","code":"piano-keys","id":"245_piano-keys","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3b9.png"},{"unicode":"🎺","code":"trumpet","id":"246_trumpet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3ba.png"},{"unicode":"🎻","code":"violin","id":"247_violin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3bb.png"},{"unicode":"🥁","code":"drumsticks","id":"248_drumsticks","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f941.png"},{"unicode":"📱","code":"cellphone","id":"249_cellphone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f1.png"},{"unicode":"☎️","code":"phone","id":"250_phone","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/260e.png"},{"unicode":"📞","code":"phone2","id":"251_phone2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4de.png"},{"unicode":"📠","code":"fax","id":"252_fax","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e0.png"},{"unicode":"🔋","code":"battery","id":"253_battery","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50b.png"},{"unicode":"🔌","code":"plug","id":"254_plug","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50c.png"},{"unicode":"🖥️","code":"computer-desktop","id":"255_computer-desktop","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a5.png"},{"unicode":"🖨️","code":"printer","id":"256_printer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5a8.png"},{"unicode":"⌨️","code":"keyboard","id":"257_keyboard","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2328.png"},{"unicode":"🖱️","code":"mouse-computer","id":"258_mouse-computer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5b1.png"},{"unicode":"💽","code":"computer-disk","id":"259_computer-disk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4bd.png"},{"unicode":"💾","code":"floppy-disk","id":"260_floppy-disk","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4be.png"},{"unicode":"📀","code":"blu-ray","id":"261_blu-ray","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4c0.png"},{"unicode":"🧮","code":"calculation","id":"262_calculation","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ee.png"},{"unicode":"🎥","code":"camera","id":"263_camera","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3a5.png"},{"unicode":"🎞️","code":"cinema","id":"264_cinema","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f39e.png"},{"unicode":"📽️","code":"cinema2","id":"265_cinema2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4fd.png"},{"unicode":"📸","code":"camera-flash","id":"266_camera-flash","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f8.png"},{"unicode":"📼","code":"vhs-tape","id":"267_vhs-tape","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4fc.png"},{"unicode":"🔎","code":"magnifying","id":"268_magnifying","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f50e.png"},{"unicode":"🕯️","code":"light","id":"269_light","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f56f.png"},{"unicode":"💡","code":"bulb","id":"270_bulb","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4a1.png"},{"unicode":"🔦","code":"electric-torch","id":"271_electric-torch","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f526.png"},{"unicode":"📒","code":"notebook","id":"272_notebook","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4d2.png"},{"unicode":"📃","code":"note","id":"273_note","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4c3.png"},{"unicode":"📰","code":"newspaper","id":"274_newspaper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4f0.png"},{"unicode":"🗞️","code":"newspaper-rolled","id":"275_newspaper-rolled","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5de.png"},{"unicode":"💴","code":"money-rolled","id":"276_money-rolled","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4b4.png"},{"unicode":"💲","code":"dollar-sign","id":"277_dollar-sign","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4b2.png"},{"unicode":"✉️","code":"email","id":"278_email","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2709.png"},{"unicode":"✏️","code":"pencil","id":"279_pencil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/270f.png"},{"unicode":"✒️","code":"pen","id":"280_pen","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2712.png"},{"unicode":"📝","code":"note-pencil","id":"281_note-pencil","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4dd.png"},{"unicode":"💼","code":"briefcase","id":"282_briefcase","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4bc.png"},{"unicode":"🗓️","code":"calendar","id":"283_calendar","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5d3.png"},{"unicode":"📌","code":"pin","id":"284_pin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cc.png"},{"unicode":"📍","code":"pin2","id":"285_pin2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cd.png"},{"unicode":"📎","code":"paperclip","id":"286_paperclip","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4ce.png"},{"unicode":"📏","code":"ruler","id":"287_ruler","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4cf.png"},{"unicode":"📐","code":"ruler2","id":"288_ruler2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4d0.png"},{"unicode":"✂️","code":"cutting","id":"289_cutting","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2702.png"},{"unicode":"🗑️","code":"wastebasket","id":"290_wastebasket","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5d1.png"},{"unicode":"🔑","code":"key","id":"291_key","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f511.png"},{"unicode":"🗝️","code":"key-old","id":"292_key-old","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5dd.png"},{"unicode":"🔨","code":"hammer","id":"293_hammer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f528.png"},{"unicode":"⛏️","code":"pickaxe","id":"294_pickaxe","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26cf.png"},{"unicode":"⚒️","code":"hammer2","id":"295_hammer2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2692.png"},{"unicode":"🛠️","code":"hammer-wrench","id":"296_hammer-wrench","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6e0.png"},{"unicode":"🗡️","code":"knife","id":"297_knife","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5e1.png"},{"unicode":"⚔️","code":"swords","id":"298_swords","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2694.png"},{"unicode":"🔫","code":"gun-tool","id":"299_gun-tool","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52b.png"},{"unicode":"🏹","code":"archer","id":"300_archer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f9.png"},{"unicode":"🛡️","code":"shield","id":"301_shield","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6e1.png"},{"unicode":"🔧","code":"spanner","id":"302_spanner","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f527.png"},{"unicode":"🔩","code":"bolt","id":"303_bolt","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f529.png"},{"unicode":"⚙️","code":"cog","id":"304_cog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2699.png"},{"unicode":"⚖️","code":"balance","id":"305_balance","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2696.png"},{"unicode":"🔗","code":"link","id":"306_link","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f517.png"},{"unicode":"🧲","code":"magnetic","id":"307_magnetic","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f2.png"},{"unicode":"⚗️","code":"chemistry","id":"308_chemistry","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2697.png"},{"unicode":"🧪","code":"chemist","id":"309_chemist","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ea.png"},{"unicode":"🧬","code":"gene","id":"310_gene","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ec.png"},{"unicode":"🔬","code":"microscope","id":"311_microscope","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52c.png"},{"unicode":"🔭","code":"telescope","id":"312_telescope","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f52d.png"},{"unicode":"📡","code":"antenna-dish","id":"313_antenna-dish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f4e1.png"},{"unicode":"💉","code":"medicine","id":"314_medicine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f489.png"},{"unicode":"💊","code":"medicine","id":"315_medicine","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f48a.png"},{"unicode":"🚪","code":"door","id":"316_door","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6aa.png"},{"unicode":"🛏️","code":"hotel-bed","id":"317_hotel-bed","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6cf.png"},{"unicode":"🚽","code":"toilet","id":"318_toilet","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6bd.png"},{"unicode":"🚿","code":"shower","id":"319_shower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6bf.png"},{"unicode":"🛁","code":"bath","id":"320_bath","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6c1.png"},{"unicode":"🧴","code":"lotion","id":"321_lotion","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f4.png"},{"unicode":"🧷","code":"diaper","id":"322_diaper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f7.png"},{"unicode":"🧹","code":"sweeping","id":"323_sweeping","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9f9.png"},{"unicode":"🧺","code":"farming","id":"324_farming","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9fa.png"},{"unicode":"🧻","code":"toilet paper","id":"325_toilet paper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9fb.png"},{"unicode":"🧯","code":"extinguisher","id":"326_extinguisher","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9ef.png"},{"unicode":"🛒","code":"shopping-cart","id":"327_shopping-cart","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6d2.png"},{"unicode":"🚬","code":"smoking","id":"328_smoking","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6ac.png"},{"unicode":"✔️","code":"check","id":"329_check","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2714.png"},{"unicode":"⚰️","code":"death","id":"330_death","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/26b0.png"},{"unicode":"🗿","code":"statue-face","id":"331_statue-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f5ff.png"},{"unicode":"🐵","code":"monkey-face","id":"332_monkey-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f435.png"},{"unicode":"🐒","code":"monkey","id":"333_monkey","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f412.png"},{"unicode":"🦍","code":"gorilla","id":"334_gorilla","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98d.png"},{"unicode":"🐶","code":"dog-face","id":"335_dog-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f436.png"},{"unicode":"🐩","code":"dog","id":"336_dog","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f429.png"},{"unicode":"🐺","code":"face","id":"337_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43a.png"},{"unicode":"🦊","code":"face","id":"338_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98a.png"},{"unicode":"🦝","code":"curious","id":"339_curious","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99d.png"},{"unicode":"🐱","code":"cat","id":"340_cat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f431.png"},{"unicode":"🦁","code":"lion-face","id":"341_lion-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f981.png"},{"unicode":"🐯","code":"tiger-face","id":"342_tiger-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42f.png"},{"unicode":"🐅","code":"tiger","id":"343_tiger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f405.png"},{"unicode":"🐆","code":"leopard","id":"344_leopard","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f406.png"},{"unicode":"🐴","code":"horse-face","id":"345_horse-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f434.png"},{"unicode":"🐎","code":"racehorse","id":"346_racehorse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40e.png"},{"unicode":"🦄","code":"unicorn-face","id":"347_unicorn-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f984.png"},{"unicode":"🦓","code":"zebra","id":"348_zebra","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f993.png"},{"unicode":"🦌","code":"deer","id":"349_deer","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98c.png"},{"unicode":"🐮","code":"cow","id":"350_cow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42e.png"},{"unicode":"🐂","code":"bull","id":"351_bull","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f402.png"},{"unicode":"🐃","code":"buffalo","id":"352_buffalo","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f403.png"},{"unicode":"🐄","code":"cow","id":"353_cow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f404.png"},{"unicode":"🐷","code":"pig-face","id":"354_pig-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f437.png"},{"unicode":"🐖","code":"sow","id":"355_sow","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f416.png"},{"unicode":"🐗","code":"pig","id":"356_pig","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f417.png"},{"unicode":"🐽","code":"pig-nose","id":"357_pig-nose","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43d.png"},{"unicode":"🐏","code":"aries","id":"358_aries","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40f.png"},{"unicode":"🐑","code":"sheep","id":"359_sheep","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f411.png"},{"unicode":"🐐","code":"capricorn","id":"360_capricorn","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f410.png"},{"unicode":"🐪","code":"dromedary","id":"361_dromedary","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42a.png"},{"unicode":"🐫","code":"camel","id":"362_camel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42b.png"},{"unicode":"🦙","code":"alpaca","id":"363_alpaca","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f999.png"},{"unicode":"🦒","code":"spots","id":"364_spots","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f992.png"},{"unicode":"🐘","code":"elephant","id":"365_elephant","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f418.png"},{"unicode":"🦏","code":"rhinoceros","id":"366_rhinoceros","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98f.png"},{"unicode":"🦛","code":"hippo","id":"367_hippo","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99b.png"},{"unicode":"🐭","code":"mouse-face","id":"368_mouse-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42d.png"},{"unicode":"🐁","code":"mouse","id":"369_mouse","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f401.png"},{"unicode":"🐀","code":"rat","id":"370_rat","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f400.png"},{"unicode":"🐹","code":"pet-face","id":"371_pet-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f439.png"},{"unicode":"🐰","code":"bunny-face","id":"372_bunny-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f430.png"},{"unicode":"🐇","code":"bunny","id":"373_bunny","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f407.png"},{"unicode":"🐿️","code":"squirrel","id":"374_squirrel","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43f.png"},{"unicode":"🦔","code":"spiny","id":"375_spiny","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f994.png"},{"unicode":"🦇","code":"vampire","id":"376_vampire","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f987.png"},{"unicode":"🐻","code":"face","id":"377_face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43b.png"},{"unicode":"🐨","code":"bear","id":"378_bear","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f428.png"},{"unicode":"🐼","code":"panda-face","id":"379_panda-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43c.png"},{"unicode":"🦘","code":"marsupial","id":"380_marsupial","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f998.png"},{"unicode":"🦡","code":"honey badger","id":"381_honey badger","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a1.png"},{"unicode":"🐾","code":"paw","id":"382_paw","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f43e.png"},{"unicode":"🦃","code":"bird","id":"383_bird","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f983.png"},{"unicode":"🐔","code":"chicken","id":"384_chicken","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f414.png"},{"unicode":"🐓","code":"rooster","id":"385_rooster","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f413.png"},{"unicode":"🐣","code":"baby-bird","id":"386_baby-bird","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f423.png"},{"unicode":"🐤","code":"baby-chick","id":"387_baby-chick","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f424.png"},{"unicode":"🐥","code":"baby-chick2","id":"388_baby-chick2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f425.png"},{"unicode":"🐧","code":"penguin","id":"389_penguin","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f427.png"},{"unicode":"🕊️","code":"bird-fly","id":"390_bird-fly","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f54a.png"},{"unicode":"🦅","code":"eagle","id":"391_eagle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f985.png"},{"unicode":"🦆","code":"duck","id":"392_duck","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f986.png"},{"unicode":"🦢","code":"swan","id":"393_swan","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a2.png"},{"unicode":"🦉","code":"owl","id":"394_owl","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f989.png"},{"unicode":"🦚","code":"peahen","id":"395_peahen","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99a.png"},{"unicode":"🦜","code":"macaw","id":"396_macaw","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99c.png"},{"unicode":"🐸","code":"frog-face","id":"397_frog-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f438.png"},{"unicode":"🐊","code":"crocodile","id":"398_crocodile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40a.png"},{"unicode":"🐢","code":"turtle","id":"399_turtle","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f422.png"},{"unicode":"🦎","code":"reptile","id":"400_reptile","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98e.png"},{"unicode":"🐍","code":"snake","id":"401_snake","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40d.png"},{"unicode":"🐲","code":"dragon-face","id":"402_dragon-face","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f432.png"},{"unicode":"🐉","code":"dragon","id":"403_dragon","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f409.png"},{"unicode":"🦕","code":"brontosaurus","id":"404_brontosaurus","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f995.png"},{"unicode":"🦖","code":"t-rex","id":"405_t-rex","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f996.png"},{"unicode":"🐳","code":"whale","id":"406_whale","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f433.png"},{"unicode":"🐋","code":"whale2","id":"407_whale2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40b.png"},{"unicode":"🐬","code":"flipper","id":"408_flipper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f42c.png"},{"unicode":"🐠","code":"tropical-fish","id":"409_tropical-fish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f420.png"},{"unicode":"🐡","code":"fish","id":"410_fish","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f421.png"},{"unicode":"🦈","code":"shark","id":"411_shark","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f988.png"},{"unicode":"🐙","code":"octopus","id":"412_octopus","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f419.png"},{"unicode":"🐚","code":"shell","id":"413_shell","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41a.png"},{"unicode":"🐌","code":"snail","id":"414_snail","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f40c.png"},{"unicode":"🦋","code":"butterfly","id":"415_butterfly","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f98b.png"},{"unicode":"🐛","code":"insect","id":"416_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41b.png"},{"unicode":"🐜","code":"insect","id":"417_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41c.png"},{"unicode":"🐝","code":"bee","id":"418_bee","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41d.png"},{"unicode":"🐞","code":"ladybug","id":"419_ladybug","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f41e.png"},{"unicode":"🦗","code":"grasshopper","id":"420_grasshopper","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f997.png"},{"unicode":"🕷️","code":"insect","id":"421_insect","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f577.png"},{"unicode":"🕸️","code":"spider-web","id":"422_spider-web","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f578.png"},{"unicode":"🦂","code":"scorpio","id":"423_scorpio","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f982.png"},{"unicode":"🦟","code":"mosquito","id":"424_mosquito","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f99f.png"},{"unicode":"🦠","code":"amoeba","id":"425_amoeba","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f9a0.png"},{"unicode":"💐","code":"flower","id":"426_flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f490.png"},{"unicode":"🌸","code":"blossom","id":"427_blossom","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f338.png"},{"unicode":"🌹","code":"flower","id":"428_flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f339.png"},{"unicode":"🥀","code":"flower-wilted","id":"429_flower-wilted","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f940.png"},{"unicode":"🌺","code":"flower2","id":"430_flower2","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33a.png"},{"unicode":"🌻","code":"sun-flower","id":"431_sun-flower","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33b.png"},{"unicode":"🌼","code":"flower3","id":"432_flower3","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33c.png"},{"unicode":"🌷","code":"flower4","id":"433_flower4","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f337.png"},{"unicode":"🌱","code":"young-tree","id":"434_young-tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f331.png"},{"unicode":"🌲","code":"tree","id":"435_tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f332.png"},{"unicode":"🌳","code":"big-tree","id":"436_big-tree","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f333.png"},{"unicode":"🌵","code":"plant","id":"437_plant","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f335.png"},{"unicode":"🌿","code":"leaf","id":"438_leaf","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f33f.png"},{"unicode":"☘️","code":"three-leaf clover","id":"439_three-leaf clover","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/2618.png"},{"unicode":"🍀","code":"four-leaf clover","id":"440_four-leaf clover","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f340.png"},{"unicode":"🍁","code":"falling-leaf","id":"441_falling-leaf","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f341.png"},{"unicode":"🏁","code":"checkered","id":"442_checkered","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3c1.png"},{"unicode":"🚩","code":"post","id":"443_post","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f6a9.png"},{"unicode":"🎌","code":"japanese-celebration","id":"444_japanese-celebration","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f38c.png"},{"unicode":"🏴","code":"flag-black","id":"445_flag-black","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f4.png"},{"unicode":"🏳️","code":"flag-white","id":"446_flag-white","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f3.png"},{"unicode":"🏳️‍🌈","code":"flag-pride","id":"447_flag-pride","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f3-fe0f-200d-1f308.png"},{"unicode":"🏴‍☠️","code":"flag-pirate","id":"448_flag-pirate","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f3f4-200d-2620-fe0f.png"},{"unicode":"🇦🇷","code":"AR","id":"449_AR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e6-1f1f7.png"},{"unicode":"🇦🇺","code":"AU","id":"450_AU","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e6-1f1fa.png"},{"unicode":"🇧🇬","code":"BG","id":"451_BG","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e7-1f1ec.png"},{"unicode":"🇧🇷","code":"BR","id":"452_BR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e7-1f1f7.png"},{"unicode":"🇨🇦","code":"CA","id":"453_CA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1e6.png"},{"unicode":"🇨🇳","code":"CN","id":"454_CN","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1f3.png"},{"unicode":"🇨🇿","code":"CZ","id":"455_CZ","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e8-1f1ff.png"},{"unicode":"🇩🇪","code":"DE","id":"456_DE","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1ea.png"},{"unicode":"🇩🇰","code":"DK","id":"457_DK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f0.png"},{"unicode":"🇩🇲","code":"DM","id":"458_DM","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f2.png"},{"unicode":"🇩🇴","code":"DO","id":"459_DO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1f4.png"},{"unicode":"🇩🇿","code":"DZ","id":"460_DZ","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1e9-1f1ff.png"},{"unicode":"🇪🇦","code":"EA","id":"461_EA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1e6.png"},{"unicode":"🇪🇨","code":"EC","id":"462_EC","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1e8.png"},{"unicode":"🇪🇸","code":"ES","id":"463_ES","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ea-1f1f8.png"},{"unicode":"🇫🇮","code":"FI","id":"464_FI","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1eb-1f1ee.png"},{"unicode":"🇫🇷","code":"FR","id":"465_FR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1eb-1f1f7.png"},{"unicode":"🇬🇧","code":"GB","id":"466_GB","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ec-1f1e7.png"},{"unicode":"🇭🇰","code":"HK","id":"467_HK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ed-1f1f0.png"},{"unicode":"🇮🇱","code":"IL","id":"468_IL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ee-1f1f1.png"},{"unicode":"🇮🇹","code":"IT","id":"469_IT","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ee-1f1f9.png"},{"unicode":"🇯🇵","code":"JA","id":"470_JA","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1ef-1f1f5.png"},{"unicode":"🇰🇵","code":"KP","id":"471_KP","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f0-1f1f5.png"},{"unicode":"🇰🇷","code":"KR","id":"472_KR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f0-1f1f7.png"},{"unicode":"🇳🇱","code":"NL","id":"473_NL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f3-1f1f1.png"},{"unicode":"🇳🇴","code":"NO","id":"474_NO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f3-1f1f4.png"},{"unicode":"🇵🇱","code":"PL","id":"475_PL","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f5-1f1f1.png"},{"unicode":"🇵🇹","code":"PT","id":"476_PT","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f5-1f1f9.png"},{"unicode":"🇷🇴","code":"RO","id":"477_RO","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f7-1f1f4.png"},{"unicode":"🇷🇺","code":"RU","id":"478_RU","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f7-1f1fa.png"},{"unicode":"🇸🇰","code":"SK","id":"479_SK","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f8-1f1f0.png"},{"unicode":"🇸🇻","code":"SV","id":"480_SV","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f8-1f1fb.png"},{"unicode":"🇹🇭","code":"TH","id":"481_TH","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f9-1f1ed.png"},{"unicode":"🇹🇷","code":"TR","id":"482_TR","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1f9-1f1f7.png"},{"unicode":"🇻🇮","code":"VI","id":"483_VI","4x":"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/1f1fb-1f1ee.png"}]',kh="data:image/png;base64,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",jh="data:image/png;base64,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",Ch="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAFoCAMAAADw7LpjAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA/UExURVJSXlZVYDEyN0pKUlJSWlJRX09PWgAAAP///////vr7/JiYn0BAQ/T09by7wWlpaszMzYKChBAQEaGhpyIhJ3+BVNkAAAmaSURBVHja7d0PV9o6GAfgxoaMRqqCfv/PepMWQQSd22g5lz4P2zw67+i5/fnmT5O2aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJ9ITSi/p3+TMH5spn8z/j+GWIQQ0sSa9/TVN5NBPtam93xMG/Swf7vyXsH/dd6DMRTBGQvSWA5FkEMgmhDmCd6+Epa8JwHk0AdMabb3CmPeky4ge+04BE6zDEJq6UuzDLr5X4gxbrePs3ouCYwCuGSrQY1AbLdP67k9bdsY03AM9Sfg8tEdOV93GsCh8X1+Wa+78uvo+oH79M92637bhiCASw9gGQk0abuePoCf5PX6tS1v/VUAWU4THMJjycPMAey6/inFFARw6QFMTVsCuD5LXnf6+nMn//2FCpifNk0QwMU3wU0NYH8WwO7KLgcwaYI1wSEeK+CnMcOEAVzXJjh8PQpmKQEMMcbSBzyLydT5KxWwTfqApmHK2a8VcP2ekpxP8nfNYW9tdz984amNzZcVMDahicNcdSofBXQ5ARxDmK833B0HIef/4PcBDHFcHdGWDNYrNc7XkgI41cxfzv17+/67AO6XR7ShJLGm0flaTgBzfnmawsvHDubvAlha3/2S6eia8dIqYH59rmf/qkor+tofWvbfBzAMC3Ni07bDGh3rBu9Gen99NQgpv19De+1lWDG1r39SAdtUQtvG8PpcSmHUBC+qCS4BLIFYfXz9tWMF3LwehyI/qYBtG7ZPL/mxrQsHW+frLpye6FCnOoqPAcyHAIbhdfrdP3/VXNXX4Z1D+3g6Fv4ygPWQYpueX1/68v2PddVW0AT/34VynktDWHKwedh8VD572H5IRteVAG6uaGhL6xW/19NFWTWAcRhupGHAOwaxfpJK+7t92g+YawDF7y4a3Dq51r7tfp2on+6eT+ZL+rz99E3/YLd7KxGsI4mLAYxpnG4psRt+QEpJbsfi16273I0BHH56uIcAbt4upuT5WACHk37FANYMboZ5vMsVcJ++sN+kVCvgvvgN35cF8F4CGFalAX64HJHnT3PG16yA5fdDrH3KSwFsxg3qdcK5dv5K01uK3/DT0OU8LuMSwLupgKXQ/CCAXSmC162Av97aryrguB253jCmztOk58cy7jheB+yyAN5RANOPAjic9KsHcJjZuxjA/fbMuji6NL2H1Qo5D32BrAm+nwDWq1rzN8FjAEP4pgke7oj03vTWtncM3zobhCwngB+X4k8QwPR1E1xnXcJjLX613nXDcrAy/s37QxHA+wlg/HoQ0p0un7p+H/DCIGT9NFzmbeOh+H1ciHj4XAAFcJoA1hXRbVvHHesPl0g6ARTAOQI4bEqq447+8hYAAby3ADa3DWA8r4Avr+OMc+315U4A7953AexmD2DO4xrpcbT79e4lARTAKQKY3xfpv1/2EEABnLUCHj72ff7ujiACKIBXCWD4HMCxDe6Ge9LkLIAGIRMGsBxA+Lgk/2zr5tcE0DTMvwewvPt3AVwLoADesgIK4EICGASQhVbAKIACKIAsNICHaRgB1Ae8UQCjAArg7SpgGu+MsO4EUABv1wT/zW0HBVAAr7AnpLTAD9s83G5fAPUB5w5gaX8f3sbt7wKoAs4fwIfhhiDP47pTARTAmQN42HuXBVAAbxXAXa2AnQDqA96wAmqCVcCbBrAzES2AAogACqA+oACiAgqgAAogAiiA+oACyLIqYF6v+3GFYHdYJ+jWHAI4UwDz8ElX7wrd1yS6M4IAzlsBu9x/uDNlXn+1VEsA9QGnCGCpfa8P21oA87rPJ/foF0AVcI4+YP+4+7V73t+j8n2Zgj6gAM4UwNw/Dqu0NtuXnPv3p4QJoADOFcD8+L5SsH0aRiJrAdQHnHEU3D8e/+phWx+P+dU8YBRAFXCKPuDJgun26TgWyd3xyeqP7fnj1BHAawewVMHhkSH7rcN9zt341EIBFMCZAhjbuH0dZqaP0zK9AOoDzhTAtxRjiuH45CQVUAWctwKmqh0fnHm4QmIQIoBzBTCGMDw8eHiAXDYNI4Bz9wFTfXR1fbJr25Yy2GdPTNcHnDGAoRxgamoA62Nt2vokQwFcXAUcVulNtjF9nb9tgstRrsasxVoKS1P81D+WKK7a4AwupQmus8DT3Rtm/YMADglMZUAcaxl8jmmVkgAupgLWjEwUwH69/lEAawTD0BbXQXH5Y7VKzuBi+oB1gd7LJEpx7b8N4CGB+4MOVVPyt0o6gQupgN3YT/ub7UPf6odFf7+pgLE5NMLtahgR10FxGYKsggAuaBom5/MnmP+r/QqD/NMAhjBkL9R2eFU+COBSKmA+7tG4przfgvSTAA6tb6l6dU46hJUALqoPOIbl6k1wd7bf41IA4yGAZeRbGuGhDtb4yd/dV8Dcvff/rh29Cxsuyxfy5QAOR3p+9E7gfQdwuP4xmfpE9POv/UkAufMA5nFTbtdNUf/WlwYlfZdfBVAfcLh7+PgEj9xd2pZ7jfFHzpcekXR5ECKAS6yA7fq9BF6/An45Ku4/XW85HQWzlADu6q/X3A/lL6+vPf+XL46Aq5ew2QmgAI4prKvv+knUfzbnPn/SP203z3HzsNtdCqBV+MuaBxzuUNBuJtKG7bnn1Ia2LoHevO0EcPEVcFpv7blYU1YfYx1D+/A2Lkg9XogTQAG8agDrA6tP1WOqH0NsU2xLU/zroU3NKgigAE4RwPMFpat9AmsIQ0ztpi3xSyrgUvuA0wYwNGcFcFx5H1NTFz6nUBJa/tAEq4DTVMAvjyvsdyGlkNJxPbQACuBVA9h8G8Aw7AcOzb4FFkABvHYAV2eOx1UX3NfFp23pAgYB1Ae8QQDrmvuavjTWQAG8Q6Hutb1VBUzhx7vaXIe7U7Wr39yuCbavlzoVcqsA2lhOGWOmm/UB7SvXBKcm3WwQogDS1BBEAeRmPcAQYjysfZrTrt771BlYfAUcLrZudrsb5C/IH1WMMW0e5rVpY2NamcGqrr9LdW3e2fq8a0vDa/9GCiAfWuJ63X/q/MVj37MmvjEK4cOMTBEnfx1pgTm2wvtL/7OOwINGmEP5269Gma0J3t/2Hmr9G+56O8s9l/frrIa1fnAIRUrz3H3guNJvvxYH9tGw6g4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4G/9B+UgH74Lo01vAAAAAElFTkSuQmCC",Ih="data:image/png;base64,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",Ph="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",Mh="data:image/png;base64,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",Vh,Oh,Th,Dh;function Eh(){var e=0;try{e=O.global_font_offset.values[ek("global_font_offset",O.global_font_offset.defaultValue)-1]}catch(a){e=0}var a,t,e=29+e,i=window.innerHeight,o=window.innerWidth;1.7777777777777777<=o/i?(Oh=(a=i)/1080,t=Math.ceil(1920*Oh),document.body.style.marginTop=0,document.body.style.marginLeft=Math.ceil((o-t)/2)+"px"):(Oh=(t=o)/1920,a=Math.ceil(1080*Oh),document.body.style.marginTop=Math.ceil((i-a)/2)+"px",document.body.style.marginLeft=0),Th=a,Dh=t,Vh=e*Oh,document.body.style.width=Dh+"px",document.body.style.height=Th+"px",document.body.style.fontSize=Vh+"px",O0(),(o=m("settings_scroll"))&&(o.style.fontSize=.0254*Th+"px"),d("vh_class",".side_panel_fix{font-size: "+.0265*Th+"px;}.stream_thumbnail_feed_text_holder{font-size: "+.0255*Th+"px;}.stream_thumbnail_game_feed_text_holder{font-size: "+.023*Th+"px;}.icon_feed_refresh{font-size: "+.018*Th+"px;}.side_panel_dialog{margin-top: "+.5*Th+"px;}")}function Bh(){_||Eh()}window.addEventListener("resize",Bh,!1);var Nh=83,Lh=80,qh=178,Gh=179,zh=37,Rh=38,Uh=39,Fh=40,Hh=13,Jh=34,Xh=33,Qh=113,Yh=8,Kh=13,Wh=32,Zh=176,$h=177,e_=228,a_=227,t_=48,i_=49,o_=50,n_=51,s_=52,l_=53,d_=54,r_=55,c_=56,u_=57,f_=96,p_=97,h_=98,__=99,m_=100,g_=101,v_=102,b_=103,y_=104,w_=105,x_=65,A_=67,S_=69,k_=84,j_=85,C_={VersionBase:"3.0",publishVersionCode:365,ApkUrl:"https://github.com/fgl27/SmartTwitchTV/releases/download/365/SmartTV_twitch_3_0_365.apk",WebVersion:"August 2024",WebTag:671,changelog:[{title:"Version August 2024 Apk Version 3.0.365",changes:["Add support for HEVC H.265 and AV1 Live and VOD (Settings Extra codec support), it still depends on the streamer to use and is on beta testing only some can","Update Codec capability & Blocked codecs settings section to support new codecs and to show better information","Improve display and sorting for player quality, sometimes it can come out of order from the server or have missing information","Fix Auto quality not playing stream with a resolution bigger than the device's current resolution","Home screen content will no longer show blocked content",'Add new settings option "Catch-up with low latency" auto-adjust the latency if it is behind the expected target, by slowing or speeding the stream by 1%',"Improve progress bar for lives playback, show proper duration if paused for too long","General app text improves, this is an open source app anyone that wanna improve app text or add translations can the process is simple","Other General improvements"]}]},I_=!1,P_=!1,M_=!1,V_="",O_=["chat:edit","chat:read","user:read:follows","user:read:subscriptions","user_follows_edit","user_read"],T_;function D_(){var e,a=[[aA,ck+nm]];_?(e=(e=Z3(um,jR,null,null,0,JSON.stringify(a)))&&JSON.parse(e))&&E_(e):_k(um,a,E_,V,0,0,null,null)}function E_(e){var a;200===e.status?(MA(),a=JSON.parse(e.responseText),window.setTimeout(function(){B_()},1e3*(parseInt(a.expires_in)-60))):(B_(0,MA,MA,0,!0),C3(e.status,e.responseText))}function B_(e,a,t,i,o){var n=cm+"client_id="+om+"&client_secret="+sm+"&grant_type=client_credentials";_&&o?L_(e,a,t,i,JSON.parse(Z3(n,jR,"POST",null,0,null))):_?W3(n,jR,null,"POST",null,"AddCode_AppTokenResult",e,i,a?a.name:null,t?t.name:null):((o=new XMLHttpRequest).open("POST",n,!0),o.timeout=jR,o.onreadystatechange=function(){4===this.readyState&&L_(e,a,t,i,this)},o.send(null))}function N_(e,a,t,i,o){L_(o,eval(t),eval(i),a,JSON.parse(e))}function L_(e,a,t,i,o){200===o.status?G_(o.responseText,e,a,i):q_(t,i)}function q_(e,a){e&&e(a)}function G_(e,a,t,i){(e=JSON.parse(e))&&(nm=e.access_token),wj(),r.AddCode_main_token=nm,pk(),t&&t(i),P4()}function z_(e){var a=[[fk,lm],[uk,ck+v[e].access_token]];_k(um,a,R_,V,e,0,null,null)}function R_(e,a){200!==e.status&&(Qm(a,!0),a||Xm(a),P4(),A(function(){s4(Mp,5e3)},3500))}function U_(){I_=!1,_k(eA+"channels/followed?user_id="+v[0].id+"&broadcaster_id="+V_,Rm()?Kx:Qx,F_,V,0,0,"GET",null)}function F_(e){(200===e.status&&(e=JSON.parse(e.responseText))&&e.data.length?H_:J_)()}function H_(){I_=!0,X_()}function J_(){I_=!1,X_()}function X_(){(M_?rT:Tg)()}var Q_='{"operationName":"FollowButton_FollowUser","variables":{"input":{"disableNotifications":true,"targetID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"800e7346bdf7e5278a3c1d3f21b2b56e2639928f86815677a7126b093b2fdd08"}}}';function Y_(){var e=[[fk,lm],[uk,tA+v[0].access_token]];_k(jC,e,K_,V,0,0,"POST",Q_.replace("%x",V_))}function K_(e){var a;200===e.status?(a=JSON.parse(e.responseText).data,I_=Boolean(a.followUser)):401!==e.status&&403!==e.status||z_(0),M_?(rT(),Gb(e.responseText,0)):Tg()}var W_='{"operationName":"FollowButton_UnfollowUser","variables":{"input":{"targetID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"f7dae976ebf41c755ae2d758546bfd176b4eeb856656098bb40e0a672ca0d880"}}} ';function Z_(){var e=[[fk,lm],[uk,tA+v[0].access_token]];_k(jC,e,$_,V,0,0,"POST",W_.replace("%x",V_))}function $_(e){var a;200===e.status?(a=JSON.parse(e.responseText).data,I_=!Boolean(a.unfollowUser)):401!==e.status&&403!==e.status||z_(0),M_?(rT(),$v[0].follows=!1):Tg()}function em(){P_=!1,_k($x+"users/"+v[0].id+"/subscriptions/"+V_+oA,rk(3,tA+v[0].access_token),am,V,0,0,"GET",null)}function am(e){(200===e.status?(P_=!0,_N):401===e.status||403===e.status?(z_(0),_N):tm)()}function tm(){P_=!1,hN()}var im="https://fgl27.github.io/SmartTwitchTV/release/index.html",om="Y2N6anV6ZXNwMGR4eDMxbGRxd3ViMjdqcTRjMjM3",nm,sm="bmFsejdnYmxhc3l3bzY2cGN5d2lnNzdyNmc5aG9u",lm="dWU2NjY2cW85ODN0c3g2c28xdDB2bmF3aTIzM3dh",dm="a2QxdW5iNGIzcTR0NThmd2xwY2J6Y2JubTc2YThmcA==",rm="https://id.twitch.tv/oauth2/",cm=rm+"token?",um=rm+"validate",fm=["6so1t0vna","w33bmnvni9xmhg6g","wi233wa","jwipybtq9ek7uo","ue6666qo983tsx","uth","OA","ization","Author","","","","Clie","nt-ID","pjt793xpsuwib","ae86nu88c4xp7r9vo","kd1unb4b3q4t","m76a8fp","58fwlpcbzcbn","gh5tcudjqtm9","5seja5ptej058mxqy7","",""],T_=!0,om=fm[20]+fm[19],sm=fm[3]+fm[1],nm=fm[15]+fm[14],lm=fm[4]+fm[0]+fm[2],dm=fm[16]+fm[18]+fm[17],pm=[[fm[12]+fm[13],dm]],hm=JSON.stringify(pm),_m,v=[],mm=null;function gm(){r.Main_Go=ux,SU(ze),l4(),KA(),l("add_user_scroll"),t("add_user_text_holder"),wm()}function vm(){0'+e.verification_uri+"":eh+bh(e.verification_uri)+"",km=e.device_code,d("add_user_text",jp.replace("%site",t).replace("%code",a)),l("add_user_text_holder"),WA(),Pm(jm)):Im():bm()}function Im(){WA(),s4(Pp,7500,!0),A(function(){bm()},3e3)}function Pm(e){$m()?e?(c("add_user_text_counter",Cp.replace("%d",e)),Am=A(function(){Pm(e-1)},1e3,Am)):(c("add_user_text_counter",Ip),Mm()):bm()}function Mm(){$m()?(Sm=null,_k(cm+"grant_type="+encodeURIComponent("urn:ietf:params:oauth:grant-type:device_code")+"&client_id="+lm+"&device_code="+km,null,Vm,Im,0,0,"POST",null)):bm()}function Vm(e){var a;$m()?200===e.status?(a=JSON.parse(e.responseText),Sm=a.access_token,Om()):400===e.status&&y((a=JSON.parse(e.responseText)).message,"authorization_pending")?Pm(jm):Im():bm()}function Om(){$m()?_k(eA+"users",[[fk,lm],[uk,ck+Sm]],Tm,V,0,0,null,null):bm()}function Tm(e){$m()?200===e.status?Jm(e.responseText):Im():bm()}function Dm(){!H2&&_&&gj()}function Em(e){o(_m),Dm(),e&&w("keydown",ym)}function Bm(){if(v=tk("AddUser_UsernameArrayNew",[]),Array.isArray(v)&&0"),ZY(a),9<(e=a.length)?e-9:0);wQ.style.width="calc("+t+"% + "+e+"ch)",(a=wQ.offsetWidth-yQ.offsetWidth)?GY()||(wQ.style.transform="translateX(-"+(a/Vh+YQ)+"em)"):(a=document.body.offsetWidth,wQ.style.transform="translateX(-"+((a=a/100*(t+e)-a/100*5)/Vh-.05)+"em)"),T("app_animations")&&HS(function(){wQ.style.transition=""})}function zm(){return 0Math.abs(a)?(e<0?U0:R0)():L0(0Math.abs(a)?IW(0'+f+f+Ya:''+f+f+(zm()?Ka:at))}function Dg(){d("channel_content_thumbdiv0_1",'"),d("channel_content_img0_1",'");var e,a=r.Main_selectedChannelDisplayname,a=(d("channel_content_infodiv0_1",(a+=r.Main_selectedChannelPartner?f+f+'':"")+(""!==sg?u+b4(sg)+w4(sg):"")+(""!==lg?u+b4(lg)+(1===lg?ct:rt):"")+(""!==dg?u+u+R+":"+u+Hee.parse(dg):"")),!ng||GU(ng[0]));ng&&a?(e=ng[0],void 0!==F0&&(e.user_name=e.user_name+He+r.Main_selectedChannelDisplayname),Eg(jU(e)),W0=1):Bg(a),Ng()}function Eg(e){var a=void 0!==F0;J0=e,d("channel_content_thumbdiv0_0",'
'+e[1]+'
'+(a?"":e[5])+'
'+Hee.parse(e[2])+'
'+(""!==e[3]?ee+e[3]:"")+'
'+ie+e[11]+""+f+ae+e[4]+"
")}function Bg(e){ag=!0,Q0=e,e='
'+Jo+'
'+$r+"
",d("channel_content_thumbdiv0_0",'
'+r.Main_selectedChannelDisplayname+'
'+(Q0?e:op)+"
")}function Ng(){ig||(ig=!0,l("channel_content_scroll"),K0=1,qg(),WA(),P4()),Lg(),Ux=!1,Rx&&E9()}function Lg(){(zm()?(V_=r.Main_selectedChannel_id,M_=!1,U_):(I_=!1,Tg))()}function qg(){(K0?(h("channel_content_thumbdiv0_0",nA),Zg(),l1):Gg)()}function Gg(){h("channel_content_thumbdivy_"+W0,"stream_switch_focused")}function zg(){K0?(e1(),n("channel_content_thumbdiv0_0",nA),n(dx+_g[0],"opacity_zero")):n("channel_content_thumbdivy_"+W0,"stream_switch_focused")}function Rg(){n("channel_content_thumbdivy_0","stream_switch_focused"),n("channel_content_thumbdivy_1","stream_switch_focused"),n("channel_content_thumbdivy_2","stream_switch_focused")}function Ug(){Q0?K0?(x("keydown",Kg),t("channel_content_scroll"),ag?(e5(ug||null),k.data=[null,r.Main_selectedChannelDisplayname,f,"","","",r.Main_selectedChannel,"",!1,r.Main_selectedChannelLogo,r.Main_selectedChannelPartner,"",0,0,r.Main_selectedChannel_id],r.Play_isHost=k.isHost=!1,MS(),w("keydown",AM),OS(),xD(),C8(!0),I3("offline",r.Main_selectedChannelDisplayname,"offline","offline","ChannelContent")):J0&&(s=qk(J0),k.data=s,r.Play_isHost=y(k.data[1],He),r.Play_isHost?(k.DisplayNameHost=k.data[1],k.data[1]=k.DisplayNameHost.split(He)[0],k.data[14]=F0):k.data[14]=r.Main_selectedChannel_id,LS(),I3("live",s[6],s[3],s[15],"ChannelContent"))):W0?1===W0?(x("keydown",Kg),t("channel_content_scroll"),zg(),HS(function(){c9(cx)})):2===W0&&(Rm()?(M_=!1,V_=r.Main_selectedChannel_id,(I_?Z_:Y_)()):s4(tt,2e3)):(x("keydown",Kg),t("channel_content_scroll"),zg(),HS(function(){c9(rx)})):s4(op,2e3)}function Fg(){rg={"Main_values.Main_selectedChannel_id":r.Main_selectedChannel_id,"Main_values.Main_selectedChannelLogo":r.Main_selectedChannelLogo,"Main_values.Main_selectedChannel":r.Main_selectedChannel,"Main_values.Main_selectedChannelDisplayname":r.Main_selectedChannelDisplayname,ChannelContent_UserChannels:tg,"Main_values.Main_BeforeChannel":r.Main_BeforeChannel}}function Hg(){r.Main_selectedChannel_id=r.Main_selectedChannel_id,r.Main_selectedChannelLogo=r.Main_selectedChannelLogo,r.Main_selectedChannel=r.Main_selectedChannel,r.Main_selectedChannelDisplayname=r.Main_selectedChannelDisplayname,tg=rg.ChannelContent_UserChannels,r.Main_BeforeChannel=r.Main_BeforeChannel,cg=!(rg={})}function Jg(e){e.keyCode===Hh&&(Xg(),pg||Ug())}function Xg(){o(H0),x("keyup",Jg),w("keydown",Kg)}function Qg(){K0=K0?(zg(),0):(zg(),1),qg()}function Yg(){(v4()?g4:u4()?c4:(zg(),x("keydown",Kg),r.Main_Go=r.Main_BeforeChannel,r.Main_BeforeChannel=Y2,gg(),WY(),r.Main_selectedChannel_id="",k4))()}function Kg(e){if(!Ux&&!xS())switch(wS(),e.keyCode){case Yh:case Qh:Yg();break;case zh:!K0&&W0?(zg(),--W0<0&&(W0=2),qg()):(zg(),OY(Kg));break;case Uh:K0||(zg(),2<++W0&&(W0=0),qg());break;case Rh:case Fh:Qg();break;case Nh:case d_:zg(),f4();break;case Lh:case Gh:case Wh:Ug();break;case Hh:x("keydown",Kg),w("keyup",Jg),pg=!1,H0=A(Wg,e9,H0);break;case o_:Wg();break;case n_:zg(),OY(Kg,zm()),zm()||s4(qi,2e3)}}function Wg(){zg(),$S()}function Zg(){var e;$k||ag||!T("show_live_player")||!IS()||sY()||GY()||TH()||J0&&(e=qk(J0),z8&&zk(e[14].toString(),z8.toString())||H8?z8&&$g():a1(e),H8=!1)}function $g(){var e=m(dx+_g[0]),a=e.parentElement.getBoundingClientRect();g7(a.bottom,a.right,a.left,window.innerHeight,4),_&&FA(e,"opacity_zero")}function e1(e){o(Cg),_&&z8&&!e&&(b7(),Y8())}function a1(e){Cg=A(function(){t1(e)},kR+pH[T("show_feed_player_delay")],Cg)}function t1(e){Y8(),_&&fO(!0,e[6],null,dx,i1)}function i1(e,a){var t;$k||r.Main_Go!==dx||!IS()||sY()||GY()||TH()||a!==r.Main_Go||!J0||!y(m("channel_content_thumbdiv0_0").className,"stream_thumbnail_focused")||e&&(e=JSON.parse(e),a=qk(J0),200===e.status?(G8=e.url,U8=e.responseText,z8=a[14],t=(a=m(dx+_g[0])).parentElement.getBoundingClientRect(),m7(G8,U8,0,t.bottom,t.right,t.left,window.innerHeight,1),FA(a,"opacity_zero")):o1(1===e.status||403===e.status?ci:Z+fe,4e3))}function o1(e,a){Y8(),n(dx+_g[0],"opacity_zero"),s4(e,a)}function n1(e){return!ag&&!!K0&&zk(J0[14].toString(),e.data[14].toString())}function s1(){return m(dx+_g[0])&&r.Main_Go===dx&&K0&&IS()}function l1(e){!$k&&s1()&&J0&&(c(dx+_g[1],ie+ZT((new Date).getTime(),J0[12])),Ig=A(function(){l1(e)},1e3,Ig))}var d1,r1,c1,u1,f1,p1,h1,_1,m1,g1,v1,b1,y1,w1,x1=!1,A1=6,S1=11,k1=parseInt((S1+1)/2),j1=A1,C1=0,I1="";function P1(){Z1();var e=0;r1=e++,c1=e++,u1=e++,f1=e++,p1=e++,h1=e++,_1=e++,m1=e++,g1=e++,v1=+e,b1=10,y1=11}function M1(){var e=(C1?j:k).data[1];Zv[C1]?cD(hl+e,1500):(x("keydown",AM),w("keydown",R1),(Nx=m("chat_send_input")).placeholder=ml,T1(),l("chat_send"),xD(),zk(I1,e)||(Nx.value=""),I1=e,(""!==Nx.value&&null!==Nx.value?rv:cv)(),Sv.force_show_chat_write.defaultValue&&!LD()&&S[l6].enterKey(1),D1())}function V1(){C1=0,Av(),x("keydown",U1),x("keydown",R1),x("keydown",av),x("keydown",gv),x("keydown",Ov),w("keydown",AM),t("chat_send"),t("chat_emotes_holder"),t("dialog_warning_chat"),t("chat_choose"),t("chat_options"),B1(!1)}function O1(e){e===C1&&(T1(),RA("chat_send"))&&!wv()&&vv()}function T1(){var e="",e=zy[C1]?((a=zy[C1]).hasOwnProperty("emote-only")&&a["emote-only"]&&(e+="Emote-only, "),a.hasOwnProperty("rk9")&&a.rk9&&(e+="R9K messages with more than 9 characters must be unique, "),a.hasOwnProperty("slow")&&a.slow&&(e+="Slow"+(a.slow?" wait "+a.slow+" second(s) between sending messages":"")+", "),a.hasOwnProperty("subs-only")&&a["subs-only"]&&(e+="Subscribers-only, "),a.hasOwnProperty("followers-only")&&-1!==a["followers-only"]&&(e+="Followers-only"+(a["followers-only"]?" minimum "+a["followers-only"]+" minute(s) fallowing":"")+", "),e.slice(0,-2)):vs,a=(C1?j:k).data[1];d("chat_state",a+f+gl+u+(""===e?vl:e))}function D1(){wv()?(q1(),x("keydown",R1),Nx.placeholder=ml,d1=A(function(){k7(!0),FA(Nx,"chat_input_class_focus"),Nx.focus(),_&&(1===Sv.keyboard_options.defaultValue?A7():2===Sv.keyboard_options.defaultValue&&S7()),x1=!0,w("keydown",U1),h("scene_keys","avoidclicks"),h("scenefeed","avoidclicks")},200,d1)):vv()}function E1(){var e;null!==Nx&&(e=Nx.cloneNode(!0),Nx.parentNode.replaceChild(e,Nx),Nx=m("chat_send_input"))}function B1(e){o(d1),!H2&&_&&gj(),n("scenefeed","avoidclicks"),n("scene_keys","avoidclicks"),k7(!1),HA(Nx,"chat_input_class_focus"),Nx.blur(),E1(),x("keydown",U1),Nx.placeholder=ml,e&&w("keydown",R1),x1=!1}function N1(){o(d1),B1(!0),j1=A1,L1()}function L1(){q1(),h("chat_send_button"+j1,"button_chat_focused")}function q1(){for(var e=0;ea.code?-1:e.code'+i+'
'+i+"
",n}function Z1(){nb=JSON.parse(Sh)}function $1(){HS(function(){x("keydown",U1),x("keydown",R1),w("keydown",av),m("chat_emotes").style.transform="",sv(0),l("chat_emotes_holder"),iv(0)})}function ev(){x("keydown",av),w("keydown",R1),t("chat_emotes_holder"),ov(J1),L1()}function av(e){switch(e.keyCode){case Qh:ev();break;case zh:nv(J1,-1);break;case Uh:nv(J1,1);break;case Rh:J1<20?ev():nv(J1,-20);break;case Fh:nv(J1,20);break;case Hh:(j1===g1||fv())&&wv()&&tv(J1)}}function tv(e){(e=m("chat_emotes"+X1[e]))&&dv(e.getAttribute(sA))}function iv(e){h("chat_emotes_img"+X1[e],"chat_emotes_focus"),sv(J1),n("chat_emotes_name"+X1[e],"opacity_zero")}function ov(e){n("chat_emotes_img"+X1[e],"chat_emotes_focus"),h("chat_emotes_name"+X1[e],"opacity_zero")}function nv(e,a){X1[e+a]?(ov(e),iv(J1+=a),lv(J1)):0'+Hee.parse(e.join(" "),!0,!0)+""}function fv(){var e=zy[C1];return!(e&&e.hasOwnProperty("emote-only")&&e["emote-only"]&&(G1(Dl,1500),1))}function pv(){x("keydown",AM),w("keydown",gv),c("chat_choose_dialog_text",El),c("chat_choose_dialog0",k.data[1]),c("chat_choose_dialog1",j.data[1]),mv=0,l("chat_choose"),hv(0)}function hv(e){h("chat_choose_dialog"+e,"button_dialog_focused"),n("chat_choose_dialog"+(1^e),"button_dialog_focused")}function _v(){x("keydown",gv),t("chat_choose")}var mv=0;function gv(e){switch(e.keyCode){case Qh:_v(),V1();break;case Uh:case zh:hv(mv^=1);break;case Hh:_v(),C1=mv,M1()}}function vv(){o(d1),RA("chat_emotes_holder")?ev():RA("chat_send")&&(B1(!0),L1())}var bv="",yv=!0;function wv(){yv=!(bv="");var e=(C1?j:k).data[1];if(Zv[C1])return bv=hl+e,yv=!1,xv(),0;if(zy[C1]){var a=zy[C1],t=$v[C1],i=(i=eb[C1])&&i.hasOwnProperty("state")&&!i.state;if(a.hasOwnProperty("subs-only")&&a["subs-only"]&&i)return bv="Chat Subscribers-only mode "+Za,yv=!1,xv(),0;if(a.hasOwnProperty("followers-only")&&-1!==a["followers-only"]&&t){if(-1Rb(t.created_at))return i=Rb(t.created_at),bv="Followers-only"+(a["followers-only"]?" minimum "+a["followers-only"]+" minute(s) fallowing":"")+" "+Tl+i+(1"),h(kv[jv=0],"settings_value_focus"),h(kv[0]+"_div","settings_div_focus"),Mv(kv[0]),l("chat_options"),w("keydown",Ov)}function Pv(e,a,t){return'
'+a+'
'+t+'
'+Sv[e].values[Sv[e].defaultValue]+'
'}function Mv(e){var a=Sv[e].defaultValue,t=Sv[e].values.length-1;0":":>","\\:\\>\\;":":>","[oO](_|\\.)[oO]":"O_O","\\:-?D":":D","\\:-?(o|O)":":O",">\\\\(":">(",":-?(?:7|L)":":7","\\:-?(S|s)":":s","#-?[\\\\/]":"#/","<\\]":"<]","<3":"<3","\\<\\;3":"<3","\\<\\;\\]":"<]","\\>\\;\\(":">(","\\:-?[z|Z|\\|]":":Z"},gb=/emote-only=(\d+).*followers-only=(-1|\d+).*r9k=(\d+).*slow=(\d+).*subs-only=(\d+).*/,vb="https://cdn.betterttv.net/emote/";function bb(e,a){a||Aw(e),r.Play_ChatForceDisable?N2():(_||Zw(),Nb(e,(e?j:k).data[14],(e?j:k).data[6]),a||Iy(e,b[e]),Vy(e,b[e],a),a||(Fy(e,b[e]),Wb(e,b[e])),Sb&&(ny(e,b[e]),Lb(e,b[e]),Ub(e,b[e])))}function yb(){var e=qw[1].innerHTML,a=(qw[1].innerHTML=qw[0].innerHTML,qw[0].innerHTML=e,m("chat_loggedin0")),t=m("chat_loggedin1"),e=t.innerHTML;t.innerHTML=a.innerHTML,a.innerHTML=e;for(var i=0;i<2;i++)Ey(i),bb(i,!0)}var wb,xb,Ab,Sb,kb,jb,Cb,Ib,Pb,Mb,Vb,Ob=[],Tb=' style="color: #4eff42;" ',Db=' style="color: #4AA4FD;" ',Eb=[],Bb=[];function Nb(e,a,t){lb[e]={},t2(),rb[e]=a,fb[e]=t,fb[e]&&(fb[e]=fb[e].toLowerCase()),Sb=Zm(),Lv=O.chat_logging.defaultValue,Hv=O.chat_individual_background.defaultValue,qv=O.highlight_rewards.defaultValue,Gv=O.highlight_atstreamer.defaultValue,zv=O.highlight_streamer.defaultValue,Rv=O.highlight_mod.defaultValue,Uv=Sb&&O.highlight_atuser.defaultValue,Fv=Sb&&O.highlight_user_send.defaultValue,wb=O.show_actions.defaultValue,xb=O.highlight_bits.defaultValue,Ab=O.show_sub.defaultValue,kb=O.individual_lines.defaultValue,Ib=O.chat_nickcolor.defaultValue,Pb=O.chat_timestamp.defaultValue,Mb=O.clear_chat.defaultValue,Vb=O.chat_bot.defaultValue,Ob[e]=0,Eb[e]=new RegExp("@"+fb[e]+"(?=\\s|$)","i"),Bb[e]=new RegExp("@"+fb[e],"gi"),hb=(O.chat_line_animation.defaultValue?"chat_line_animation ":"")+"chat_line_holder",Sb&&(jb=new RegExp("@"+v[0].name+"(?=\\s|$)","i"),Cb=new RegExp("@"+v[0].name,"gi")),b[e]=(new Date).getTime(),o2(e,b[e]),_y(e,b[e]),cy(e,b[e]),vy(e,b[e]),xy(e,b[e])}function Lb(e,a){Zm()&&v[0].access_token&&($v[e]={},sk(eA+"channels/followed?user_id="+v[0].id+"&broadcaster_id="+rb[e],qb,zb,e,a,!0))}function qb(e,a,t){t===b[a]&&Gb(e,a)}function Gb(e,a){(e=JSON.parse(e))&&e.data.length?$v[a]={created_at:e.data[0].followed_at,follows:!0}:$v[a].follows=!1}function zb(e,a){a===b[e]&&($v[e].follows=!1)}function Rb(e){return e=(new Date).getTime()-new Date(e).getTime(),Math.floor(Math.floor(parseInt(e/1e3))/60)}function Ub(e,a){eb[e]={},Zm()&&v[0].access_token&&a===b[e]?sk(eA+"subscriptions/user?broadcaster_id="+rb[e]+"&user_id="+v[0].id,Fb,Xb,e,a,!0):Xb(e,a)}function Fb(e,a,t){t===b[a]&&(eb[a].state=!0,Hb(a,t))}function Hb(e,a){ob.ChannelEmotes[rb[e]]?ly(ob.ChannelEmotes[rb[e]]):(ob.ChannelEmotes[rb[e]]={},sk(eA+"chat/emotes?broadcaster_id="+rb[e],Jb,V,e,a,!0))}function Jb(e,a,t){dy(e,a,t,ob.ChannelEmotes[rb[a]])}function Xb(e,a){a===b[e]&&(eb[e].state=!1)}function Qb(e,a){a===b[e]&&(ob.BadgesChannel[rb[e]]?f2(ob.BadgesChannel[rb[e]],qw[e]):sk(eA+"chat/badges?broadcaster_id="+rb[e],Yb,V,e,a,!0))}function Yb(e,a,t){t===b[a]&&(ob.BadgesChannel[rb[a]]=s2(JSON.parse(e),rb[a],!0,a),f2(ob.BadgesChannel[rb[a]],qw[a]))}function Kb(e){c("chat_loggedin"+e,""),h("chat_loggedin"+e,"hide"),m("chat_box_holder"+e).style.height="",m("chat_container_name"+e).style.top=""}function Wb(e,a){O.show_chatters.defaultValue&&(d("chat_loggedin"+e,"..."+(1===O.show_chatters.defaultValue?bc:Pe)),n("chat_loggedin"+e,"hide"),m("chat_box_holder"+e).style.height="calc(100% - 2.9vh)",e||(m("chat_container_name"+e).style.top="3vh"),Zb(e,a))}function Zb(e,a){(1===O.show_chatters.defaultValue?iy:ey)(e,a),cb[e]=p3(function(){$b(e,a)},3e5,cb[e])}function $b(e,a){(1===O.show_chatters.defaultValue?iy:ey)(e,a)}function ey(e,a){sk(eA+"streams/?user_id="+rb[e],ay,V,e,a,!0)}function ay(e,a,t){try{var i,o;t===b[a]&&(i=JSON.parse(e)).data&&i.data.length&&d("chat_loggedin"+a,b4(o=i.data[0].viewer_count)+f+y4(o))}catch(e){u3("ChatLive_loadChattersSuccess "+e)}}var ty='{"query":"{channels(ids: \\"%x\\") {chatters(){count}}}"}';function iy(e,a){_k(jC,g8,oy,V,e,a,"POST",ty.replace("%x",rb[e]))}function oy(e,a,t){if(200===e.status)try{t===b[a]&&d("chat_loggedin"+a,b4(JSON.parse(e.responseText).data.channels[0].chatters.count)+bc)}catch(e){u3("ChatLive_loadChattersSuccess "+e)}}function ny(e,a){ob.GlobalTwitch?ly(ob.GlobalTwitch):(ob.GlobalTwitch={},sk(eA+"chat/emotes/global",sy,V,e,a,!0))}function sy(e,a,t){dy(e,a,t,ob.GlobalTwitch)}function ly(e){for(var a in sb.hasOwnProperty(v[0].id)||(sb[v[0].id]={}),e)sb[v[0].id][a]={code:a,id:e[a].id,"4x":e[a]["4x"],srcset:e[a].srcset}}function dy(e,a,t,i){var o,n,s;t===b[a]&&(t=JSON.parse(e))&&t.data.length&&(e=t.data,sb.hasOwnProperty(v[0].id)||(sb[v[0].id]={}),e.forEach(function(e){e.name&&e.id&&"string"==typeof e.name&&(e.code=mb[e.name]||e.name,sb[v[0].id].hasOwnProperty(e.code)||(n=e.theme_mode.includes("dark"),o=ry(e.images,n),n=Lee(e.images,n),s=e.code+e.id,lb[a][e.code]={code:e.code,id:s,chat_div:qee(n,o),"4x":n,srcset:o},i[e.code]={code:e.code,id:s,"4x":n,srcset:o},sb[v[0].id][e.code]={code:e.code,id:s,"4x":n,srcset:o}))}))}function ry(e,a){if(!e)return"";var t,i="";for(t in e)i+=(a?e[t].replace("light","dark"):e[t])+" "+t.split("_")[1]+",";return i.length?i.slice(0,-1):i}function cy(e,a){a===b[e]&&(ob.bttv[rb[e]]?gy(ob.bttv[rb[e]],e):sk("https://api.betterttv.net/3/cached/users/twitch/"+rb[e],uy,V,e,a))}function uy(e,a,t){t===b[a]&&fy(JSON.parse(e),a,!1)}function fy(e,a){ob.bttv[rb[a]]={};try{py(e.channelEmotes,a),py(e.sharedEmotes,a);for(var t=e.bots.length,i=0;i'+(t?"ChatSend:":"Chat:")+f+e+""})}function Ly(e){o(Yv[e]),o(Qv[e])}function qy(e,a,t){My[a]&&(e=e.hasOwnProperty("params")?JSON.stringify(e.params):"",e=gb.exec(e),gb.lastIndex=0,e&&6===e.length?(o(Yv[a]),Ry(e,a)):t&&(Yv[a]=A(function(){Jv[a].send("JOIN #"+fb[a])},1e3,Yv[a])))}var Gy,zy=[];function Ry(e,a){zy[a]={"emote-only":parseInt(e[1]),"followers-only":parseInt(e[2]),rk9:parseInt(e[3]),slow:parseInt(e[4]),"subs-only":parseInt(e[5])},O1(a)}function Uy(e,a){e.tags&&(zy[a]||(zy[a]={}),(e=e.tags).hasOwnProperty("emote-only")&&(zy[a]["emote-only"]=parseInt(e["emote-only"])),e.hasOwnProperty("followers-only")&&(zy[a]["followers-only"]=parseInt(e["followers-only"])),e.hasOwnProperty("rk9")&&(zy[a].rk9=parseInt(e.rk9)),e.hasOwnProperty("slow")&&(zy[a].slow=parseInt(e.slow)),e.hasOwnProperty("subs-only")&&(zy[a]["subs-only"]=parseInt(e["subs-only"])),O1(a))}function Fy(e,a){a!==b[e]||e||(!Zv[e]&&Zm()&&v[0].access_token?Xy(e,a):Yy())}var Hy,Jy=!1;function Xy(t,i){(Gy=new WebSocket("wss://irc-ws.chat.twitch.tv:443","irc")).onopen=function(){var e=v[0].name.toLowerCase();Gy.send("PASS oauth:"+v[0].access_token),Gy.send("NICK "+e),Gy.send("USER "+e+" 8 * :"+e)},Gy.onmessage=function(e){if(e.data){var a=window.parseIRC(e.data.trim());if(a.command)switch(a.command){case"PING":Gy.send("PONG "+a.params[0]);break;case"001":y(a.params[1],v[0].name.toLowerCase())&&(Ky(t,i),Gy.send("CAP REQ :twitch.tv/tags twitch.tv/commands"));break;case"CAP":Jy=!0,Nv=p3(function(){Gy&&1===Gy.readyState&&Gy.send("PONG tmi.twitch.tv")},3e4,Nv);break;case"NOTICE":a.params&&a.params[1]&&y(a.params[1]+"","authentication failed")?(Ny(a.params[1],0,!0),Rm()&&z_(0)):aw(a);break;case"PART":Gy&&(Qy(),Gy.close(1e3))}}},Gy.onclose=function(e){Ny("Websocket closed remotely... "+JSON.stringify(e),0,!0),Wy(t,i,ib,!(Jy=!1))},Gy.onerror=function(e){Ny("Error... "+JSON.stringify(e),0,!0),Wy(t,i,ib,!(Jy=!1))},Ky(t,i)}function Qy(){Gy.onclose=V,Gy.onerror=V,Gy.onmessage=V,Gy.onopen=V}function Yy(){Gy&&(1===Gy.readyState&&Gy.send("PART "),Qy(),Gy.close(1e3)),Jy=!1,h3(Nv)}function Ky(e,a){Hy=A(function(){Wy(e,a,0)},2*tb,Hy)}function Wy(e,a,t,i){Jy||(Yy(),Hy=A(function(){i||Ny(tl,e,!0),Fy(e,a)},t||0,Hy))}function Zy(e,a){a===b[e]&&!JO&&O.open_host.defaultValue&&vk($y,e,a,fb[e])}function $y(e,a,t){t!==b[a]||JO||200===e.status&&(t=JSON.parse(e.responseText).data).user&&t.user.hosting&&(I?V5(e,1^a,r5=(new Date).getTime()):eE(e,0,PD=(new Date).getTime()))}function ew(e,a,t){var i=e.tags&&e.tags.hasOwnProperty("msg-id");i&&y(e.tags["msg-id"]+"","host_on")?(Zy(a,t),aw(e)):i&&My[a]&&y(e.tags["msg-id"]+"","msg_banned")?(tw(e.params&&e.params[1]?e.params[1]:hl+fb[a],3500),Zv[a]=!0,o(Qv[a]),By(a,t,0)):e.params&&e.params[1]&&y(e.params[1]+"","authentication failed")?(Ny(e.params[1],a),My[a]&&Rm()&&z_(0)):aw(e)}function aw(e){e.params[1]&&!y(e.params[1],"NICK already set")&&tw(e.params[1],3500)}function tw(e,a){G1("Chat: "+e,a),cD("Chat: "+e,a)}function iw(e,a){return Jy&&Gy&&1===Gy.readyState&&(Gy.send("PRIVMSG #"+fb[a]+" :"+e),p8&&(e=Math.ceil((1===p8?bw[a]:p8)/1e3),G1(uu+f+e+(1$&")),o)&&(s=s.replace(o,"$&")),e&&e[1]&&(l||(s=""),s+=e&&e[1]?d+cw(t,a)+""+(r||!i?Od:i)+": "+fw(Fee(e[1],uw(t)),a,0):""),nw(s,a,l),Sb)&&o&&n&&(zk(o+"",v[0].id+"")||zk(n.toLowerCase()+"",v[0].name.toLowerCase()+""))&&tw((r?Od:t["display-name"])+pl,1e4)}function nw(e,a,t){dw(a,{chat_number:a,message:''+e+"",sub:t,mod:!t})}function sw(e){return QT((e=new Date(parseInt(e)+cA)).getHours())+":"+QT(e.getMinutes())}function lw(e,a,t){var i,o,n,s,l,d="",r=e.tags,c="",u=!1,f=!1,p=!1,h=!1;if(r&&r.hasOwnProperty("display-name")&&(!Vb||!_b[r["display-name"]])&&(y(e=e.params[1],"PRIVMSG")&&(e=e.split("@badge-info=")[0]),!(Vb&&e&&e.startsWith("!")&&-1===e.indexOf(" ")))){if(qv&&r.hasOwnProperty("msg-id")&&(r["msg-id"]=r["msg-id"]+"",y(r["msg-id"],"highlighted-message")?(c=" chat_highlighted ",n=Yl):y(r["msg-id"],"skip-subs-mode-message")&&(c=" chat_highlighted ",n=Kl)),Pb&&(d+=t&&r.hasOwnProperty("tmi-sent-ts")?sw(r["tmi-sent-ts"])+" ":QS+" "),d+=cw(r,a),/^\x01ACTION.*\x01$/.test(e)){if(!wb)return;l=!0,e=e.replace(/^\x01ACTION/,"").replace(/\x01$/,"").trim()}Gv&&Eb[a].test(e)?u=!0:zv&&zk(r["display-name"].toLowerCase(),fb[a])?p=!0:Rv&&r.mod&&"0"!==r.mod?h=!0:(Uv&&jb.test(e)||Fv&&zk(r["display-name"].toLowerCase(),v[0].display_name.toLowerCase()))&&(f=!0),s=r.hasOwnProperty("bits")&&db.hasOwnProperty(rb[a]),i=r["display-name"],dw(a,{chat_number:a,message:d=(d+=""+i+""+(l?"":":")+" ")+""+fw(Fee(e,uw(r)),a,s?parseInt(r.bits):0)+"",atstreamer:u,atuser:f,fromstreamer:p,mod:h,hasbits:s&&xb,extraMessage:n,addToStart:t})}}function dw(e,a){!p8||a.addToStart?hw(a):rw(e,b[e],a)}function rw(e,a,t){A(function(){a===b[e]&&hw(t)},1===p8?bw[e]:p8)}function cw(e,a){if(e.hasOwnProperty("badges")&&"string"==typeof e.badges){for(var t,i=e.badges.split(","),o="",n=0,s=i.length;n');return o}return""}function uw(e){var a,t,i,o,n,s=null;if(e.hasOwnProperty("emotes")&&"string"==typeof e.emotes){e.emotes=e.emotes.split("/");for(var s={},l=0,d=e.emotes.length;l'+e+""}function hw(e){ab?(_w(e),Kv[e.chat_number]++>Rw&&(Kv[e.chat_number]=0,q2(e.chat_number))):Wv[e.chat_number].push(e)}function _w(e){var a="",t="chat_line",a=(e.atstreamer?(t+=" chat_atstreamer",e.message=e.message.replace(Bb[e.chat_number],"$&")):e.fromstreamer?t+=" chat_fromstreamer":e.mod?t+=" chat_mod":e.atuser?(t+=" chat_atuser",e.message=e.message.replace(Cb,"$&")):e.hasbits?t+=" chat_bits":e.sub?t+=" chat_sub":Hv&&(Ob[e.chat_number]&&(1===Hv?a="background-color: rgba("+(!P&&!JO||KO?"100,100,100,":"0, 0, 0,")+" "+NO+");":2===Hv?a="background-color: rgba(100,100,100, "+NO+")":3===Hv&&(a="background-color: rgba(0,0,0, "+NO+")")),Ob[e.chat_number]=1^Ob[e.chat_number]),'
'+e.message+"
");(t=document.createElement("div")).innerHTML=a,e.addToStart?(t.className="chat_line_holder",qw[e.chat_number].insertBefore(t,qw[e.chat_number].childNodes[0]),mw(e)):(t.className=e8?hb:"chat_line_holder",mw(e),qw[e.chat_number].appendChild(t))}function mw(e){e.extraMessage&&_w({chat_number:e.chat_number,message:pw(e.extraMessage),skip_addline:1,addToStart:e.addToStart})}function gw(){for(var e,a,t=0;t<2;t++){for(a=Wv[t].length,e=0;e'+Ft+f+r.Main_selectedChannelDisplayname+f+Bw+""}),A(function(){y2(b[0])},Hw[r.Main_selectedChannel_id]?0:500),Hw[r.Main_selectedChannel_id]=!0)}var Ww=1;function Zw(){Ew=Dw=uC?0:Tw,i8&&(Dw=XO?1===XO?24:26:15),Ww=1,$w(),ab=!0}function $w(){Pw=p3(function(){if(uC)try{Dw=o0.currentTime,MD=Dw+o0.buffered.end(0)}catch(e){console.log("Chat_StartFakeClockInterval e "+e)}else if(u0&&VB)try{var e=u0.getPlayer().getCurrentTime();if(0'+il+""}),f=Tw=0,p=t.length;f',Rv)&&y(c.setID,"mod")&&(d=!0);if(o.fragments)for(h=0,_=o.fragments.length;h<_;h++)(u=o.fragments[h]).emote?r+=qee(Nee(u.emote.emoteID)):(r+=fw([u.text],0,0),!n&&Gv&&Eb[0].test(u.text)?n=!0:!s&&Uv&&jb.test(u.text)&&(s=!0));zv&&zk(t[f].commenter.displayName.toLowerCase(),fb[0])?l=!0:Fv&&zk(t[f].commenter.displayName.toLowerCase(),v[0].display_name.toLowerCase())&&(s=!0),m=n||d||l?Tb:s?Db:!Ib&&o.userColor?'style="color: '+o.userColor+';"':'style="color: '+Nw[t[f].commenter.displayName.charCodeAt(0)%Lw]+';"',i=(i+=""+t[f].commenter.displayName+k2(t[f].commenter.displayName,t[f].commenter.login)+""+(o.is_action?"":":")+" ")+'"+r+"",m={chat_number:0,time:t[f].contentOffsetSeconds,message:i,atstreamer:n,atuser:s,mod:d,fromstreamer:l,hasbits:!1},g?j2(m):""!==Ow&&C2(m)}g&&b[0]===a&&(Uw=!1,I2(a),""!==Ow)&&O2(a)}}function k2(e,a){return e&&Qw.test(e)?" ("+a+")":""}function j2(e){Mw.push(e)}function C2(e){Vw.push(e)}function I2(e){Uw||zw||b[0]!==e||r.Play_ChatForceDisable||(V2(e),jw=p3(function(){V2(e)},1e3,jw),_)||$w()}function P2(){o(Cw),o(Iw),h3(jw),h3(Pw)}function M2(){zw=!1,P2(),b[0]=0,gS(qw[0]),gS(qw[1]),Ow=null,Mw=[],Vw=[],Fw={},xw(Gw=0),xw(1),Kb(0)}function V2(e){var a,t=Mw.length;if(Gw'+u+u+Qt+u+u+""}),zw=!0,h3(jw))}function O2(e){zw||b[0]!==e||T2(e)}function T2(e){""!==Ow&&_k(jC,v8,D2,V,e,0,"POST",Xw.replace("%v",r.ChannelVod_vodId).replace("%c",Ow))}function D2(e,a){zw||b[0]!==a||(200===e.status?S2(e.responseText,a):E2(a))}function E2(e){b[0]===e&&(Iw=A(function(){T2(e,0)},2500,Iw))}function B2(){M2(),L2(Ot+u+Tt),_||Zw()}function N2(){M2(),L2(ji)}function L2(e){var a=" ",a=(a+='')+e+"";(e=document.createElement("div")).className="chat_line",e.innerHTML=a,qw[0].appendChild(e),qw[1].appendChild(e.cloneNode(!0))}function q2(e){for(var a=qw[e].getElementsByClassName("chat_line_holder"),t=0,i=a.length-Rw;t'+f+f+At),d("channel_content_titley_1",''+f+f+xe),d("channel_content_titley_2",''+f+f+Ka),c("dialog_hist_setting_name_0",Fn),c("dialog_hist_setting_name_2",Hn),c("dialog_hist_setting_name_3",Ku),c("dialog_hist_setting_summary_3",Wu),c("dialog_hist_val_2",es),c("dialog_opt_text",ss),c("dialog_thumb_opt_setting_name_-1",hs),c("dialog_thumb_opt_val_-1",es),c("dialog_thumb_opt_setting_name_0",us),c("dialog_thumb_opt_setting_name_1",cs),c("dialog_thumb_opt_setting_name_3",mp),c("dialog_thumb_opt_setting_name_4",gp),c("dialog_thumb_opt_setting_name_5",yp),c("dialog_thumb_opt_setting_name_6",ls),c("dialog_thumb_opt_setting_name_7",gi),c("dialog_thumb_opt_setting_name_8",K),d("dialog_multi_help_text",Cs),c("chat_send_button0",sd),c("chat_send_button1",yl),c("chat_send_button2",Bl),c("chat_send_button3",xl),c("chat_send_button4",Sl),c("chat_send_button5",jl),c("chat_send_button6",Ml),c("chat_send_button7",Il),c("chat_send_button8",wl),c("chat_send_button9",Al),c("chat_send_button10",kl),c("chat_send_button11",Cl),c("chat_result",Pl),Cv(),c("update_dialog_changebutton",Dc),c("update_dialog_exit",ua),d("feed_end_1",Ct),d("feed_end_3",Z),d("feed_end_4",W+f+Z),d("feed_end_5",Z+f+zn),d("feed_end_7",W+f+"VOD"),d("feed_end_8","VOD "+zn),d("icon_feed_back",f)}function qA(e,a,t,i){d(e,'
'+f+t+"
")}function t(e){GA(m(e))}function GA(e){e&&e.classList.add("hide")}function l(e){zA(m(e))}function zA(e){e&&e.classList.remove("hide")}function RA(e){return UA(m(e))}function UA(e){return!y(e?e.className:"","hide")}function h(e,a){FA(m(e),a)}function FA(e,a){e.classList.add(a)}function n(e,a){HA(m(e),a)}function HA(e,a){e&&e.classList.remove(a)}function d(e,a){JA(m(e),a)}function JA(e,a){e&&(e.innerHTML=a)}function c(e,a){XA(m(e),a)}function XA(e,a){e&&(e.textContent=a)}function QA(e){e&&e.remove()}function YA(e){var a=m(e).getElementsByClassName("emoji");if(a){for(var t=0,i=a.length;t"+u+Aa+u+u+Sa+u+u+An+u+u+Hp+(e=H2?e:_?Zp+Sn+""+u+kn+u+u:Zp+Af+""+u+Sf+u+u)+Zp+ca+""),l("welcome_dialog")}function h4(){t("welcome_dialog")}function _4(){return RA("welcome_dialog")}function m4(e,a){x("keydown",e),w("keydown",a),c4(),l("dialog_controls"),w3("Controls")}function g4(){t("dialog_controls")}function v4(){return RA("dialog_controls")}function b4(e){return e&&(e+"").replace(/\B(?=(\d{3})+(?!\d))/g,",")}function y4(e){return 1===e?Ie:Pe}function w4(e){return 1===e?je:Ce}function x4(e){return!y(e+"","live")}function A4(e,a,t){return null!==m(t+e+"_"+a)}function S4(e){sY()?(w("keydown",oK),UQ||wY(),z8&&y7(),iY(!0)):k4(!1,e)}function k4(e,a){l4(),r.Main_Go!==dx&&(r.Main_BeforeChannelisSet=!1),r.Main_Go!==fx&&(r.Main_BeforeAgameisSet=!1),M[r.Main_Go]?M[r.Main_Go].init_fun(a):M[1].init_fun(),e&&x("keydown",M[r.Main_Go].key_fun)}function j4(){xA=r.Search_isSearching?r.Main_Go:(r.Main_BeforeSearch=r.Main_Go,null),V4(r.Main_Go),r.Main_Go=Q2,l4(),o4(),KU()}function C4(){UH=fH,V4(r.Main_Go),r.Main_Go=vx,l4(),o4(),Q7()}function I4(){AA=A(P4,500,AA)}function P4(){g("Main_values",JSON.stringify(r)),g("Play_data",JSON.stringify(k))}function M4(){r=d9(r,tk("Main_values",{})),k=d9(k,tk("Play_data",{}))}function V4(e){M[e]&&M[e].exit_fun&&M[e].exit_fun(),RA("settings_holder")&&OH()}function O4(){qA("label_refresh","icon-refresh",L+":"+vt),qA("label_thumb","icon-options",ms)}function T4(){qA("label_thumb","icon-return",ue)}function D4(e){return e=new Date(e),Dx?e.getDate()+" "+bt[e.getMonth()]+" "+e.getFullYear():bt[e.getMonth()]+" "+e.getDate()+" "+e.getFullYear()}function E4(e){return D4(e)+" "+(e=new Date(e)).getHours()+":"+QT(e.getMinutes())}var B4=!0,N4,L4,q4,G4,z4,R4;function U4(e){var a,t,i,o,n,s;B4&&(_?(t=Gj(),i=Wj(),o=zj(),n=Rj(),u3("Webviewversion "+i),a="Apk: "+rA+" Web: "+C_.WebVersion+(i?" Webview: "+i:"")+" Device: "+o+" - "+t+" Sdk: "+n,s=Q4(rA),O.update_background.defaultValue||(s?X4(!(q4=!0)):e||F4()),M3(rA,C_.WebVersion,i,t,n,o)):(a=C_.VersionBase+"."+C_.publishVersionCode+" - "+C_.WebVersion,M3(rA,C_.WebVersion,navigator.appVersion,navigator.platform,"Browser","Browser")),d("dialog_about_text",rh+a+u+eh+im+""+u+''+ch),Fx=(new Date).getTime())}function F4(e){!B4||q4&&hS()&&O.update_background.defaultValue&&!e||(y(window.location.href,"https://fgl27.github.io")?sk("https://fgl27.github.io/SmartTwitchTV/release/githubio/version/version.json",J4,H4):A(function(){G4=!1,rS(),K4()},1e3))}function H4(){hS()&&M7(Uc)}function J4(e){G4=!1,aS=KS();var a=(e=JSON.parse(e)).WebTag>C_.WebTag,t=_&&C_.publishVersionCode
'+f+(e?Jc:Hc)+Qc+"
"),hS()?rS():O.update_show.defaultValue||a?dA||1!==O.update_show.defaultValue||(a=(e?Jc:Hc)+Qc,_?M7(a):(IS()?s4:lD)(a,3e3),dA=!0):fS()}function Q4(e){var a=(e=e.split("."))[0]+"."+e[1],e=parseInt(e[2]),t=parseFloat(a)"+(q4?z4?Jc:Hc:Lc)+u+(!q4&&aS?Xc+aS:f)+""+u+Zp+qc+f+""+u,a=C_.changelog,t=(e+=Zp+a[0].title+""+u+$p,a[0].changes.length),i=0;i")}function cS(){uS(),fS()}function uS(){G4=!0,m("update_dialog_upbutton").style.width="30%",d("update_dialog_upbutton",Rc),F4(!0)}function fS(){rS(),Wk(!0,lS,!0),Y4(),sY()?(oY(),fY()):XK()&&DS()?AW(N):Oz()&&nq(r.Main_Go),l("update_dialog"),tS=!0,w3("UpdateDialog")}function pS(e){eS=0,t("update_dialog"),tS=!1,e||(Wk(!1,lS),sY()?iY(!0):XK()?rW(!0,N):IS()&&!GY()&&M[r.Main_Go].init_fun())}function hS(){return tS}function _S(){for(var e,a,t=Zp+Tc+""+Ec+eh+"https://tinyurl.com/sttvchanges

",i=C_.changelog,o=0,n=i.length;o"+$p,a=i[o].changes.length,e=0;e
"}d("dialog_changelod_text",t+Zp+fa+"")}function mS(e){gS(m(e))}function gS(e){if(e)for(;e.firstChild;)e.removeChild(e.firstChild)}function vS(e){X2=e}function bS(e){var a=0;return X2'+e+""}):""}function wk(e,a,t){var i;!Zm()||!a||!a[0]||"live"===e&&M[_x].histPosX[1]||"vod"===e&&M[mx].histPosX[1]||"clip"===e&&M[gx].histPosX[1]||((i=Pk(e,a[7]))?(i.data=qk(a),i.date=t?i.date:(new Date).getTime(),i.game=a[3],i.views=a[13]):(1999a.id?-1:e.ida[t]?-1:e[t] '),zA(oV),wK=!1,WC(),pM(),jP(3),kW(),uC=!(s8=!1),(z8?(zC(U8),Y8):vC?HC:NC)(),bC?-1!==bR&&(Tw=bR,Kw()):B2(),vC=!1,bC?VC():(c("end_vod_name_text_2",""),d("end_vod_title_text_2",""),S[QM].setLabel("")),lT(r.Main_selectedChannel_id),mD(3),S[HM].setLabel(r.Main_selectedChannelDisplayname),II(r.Main_selectedChannel_id)}function MC(){JN=!1,FN((m8=wC)[NB=0])}function VC(){r.ChannelVod_vodId&&sk(eA+"videos?id="+r.ChannelVod_vodId,OC,V,null,null,!0)}function OC(e){(e=JSON.parse(e)).data&&e.data.length&&(e=e.data[0],d("end_vod_title_text_2",AR=yk(e.title)),S[QM].setLabel(AR,r.Main_selectedChannelDisplayname),ZC(EM,e.thumbnail_url.replace("%{width}x%{height}",Ix)+uA))}function TC(){dC=(new Date).getTime(),_k(jC,g8,DC,V,0,dC,"POST",IC.replace("%x",hR))}function DC(e,a,t){uC&&dC===t&&(200===e.status&&(t=JSON.parse(e.responseText)).data&&t.data.clip&&(t.data.clip.videoOffsetSeconds||0===t.data.clip.videoOffsetSeconds)?(bR=t.data.clip.videoOffsetSeconds||1,yI()):bI(Vf))}function EC(){rC=(new Date).getTime(),_k(jC,g8,BC,V,0,rC,"POST",IC.replace("%x",hR))}function BC(e,a,t){uC&&rC===t&&200===e.status&&(t=JSON.parse(e.responseText)).data&&t.data.clip&&(e=t.data.clip,-1===bR&&(e.videoOffsetSeconds?(Tw=bR=e.videoOffsetSeconds,Kw):B2)(),e.game&&e.game.displayName&&(d("stream_info_game",ee+e.game.displayName),uR=e.game.displayName,k.data[3]=uR,S[JM].setLabel(k.data[3])),e.broadcaster)&&(d("stream_info_name",uP(e.broadcaster.displayName,e.broadcaster.roles&&e.broadcaster.roles.isPartner,2,mR)),yT(m("stream_info_icon"),e.broadcaster.profileImageURL),r.Main_selectedChannelDisplayname=e.broadcaster.displayName,r.Main_selectedChannelPartner=e.broadcaster.roles.isPartner,k.data[5]=e.broadcaster.profileImageURL)}function NC(){cC=(new Date).getTime(),_k(jC,g8,LC,V,0,cC,"POST",CC.replace("%x",hR))}function LC(e,a,t){uC&&cC===t&&(200===e.status&&(t=GC(e.responseText)).length?zC(t):qC())}function qC(){sD(),lD(fn,2e3),A(function(){WD(3)},2e3)}function GC(e){var a,t=[],i=JSON.parse(e);if(i&&i.hasOwnProperty("data")&&i.data.hasOwnProperty("clip")&&i.data.clip){a="?sig="+encodeURIComponent(i.data.clip.playbackAccessToken.signature)+"&token="+encodeURIComponent(i.data.clip.playbackAccessToken.value),(i=i.data.clip.videoQualities).sort(function(e,a){return a.quality-e.quality});for(var o=0,n=i.length;oa.values.length-1&&(a.defaultValue=a.values.length-1),a.bottomArrows(),O[e].defaultValue=a.defaultValue,g(e,a.defaultValue+1)}function RI(){(!RV[0]&&RV[1]||!zV[0]&&zV[1])&&UI(0)}function UI(e,a){RV[e]=1,zV[e]=a?T("screen_preview_volume")*bH:100,L7(),N7(),q7()}function FI(){var e,a;if(JO){for(e=y6,a=C6+1;e ')}function XI(e,a,t){zV[e]+=a*bH,zV[e]<0?zV[e]=0:100 ')}function YI(e){var a="vol-level-4";return zV[e]?zV[e]&&zV[e]<30?a="vol-level-1":zV[e]&&zV[e]<60?a="vol-level-2":zV[e]&&zV[e]<100&&(a="vol-level-3"):a="vol-level-0",a}function KI(){$I(XO,t6),XA(S[t6].doc_title,nu[S[t6].defaultValue])}function WI(){$I(UO,KM),XA(S[KM].doc_title,Xi+" - "+S[KM].values[S[KM].defaultValue]+"x")}function ZI(){JO?$I(0,e6):$I(2,$M)}function $I(e,a){S[a].defaultValue=e,S[a].bottomArrows&&S[a].bottomArrows(),S[a].setLabel()}function eP(e){var a=EI!==P;EI=P,e?a&&nP():(a&&oP(),tP()),_&&(I?$3:ej)(P),g("Play_isFullScreen",P)}var aP=[[{width:"9.7%",left:"0.2%"},{width:"14.7%",left:"0.2%"},{width:"19.7%",left:"0.2%"},{width:"24.7%",left:"0.2%"},{width:"29.7%",left:"0.2%"},{width:"34.7%",left:"0.2%"},{width:"39.7%",left:"0.2%"}],[{width:"9.7%",left:"90.1%"},{width:"14.7%",left:"85.1%"},{width:"19.7%",left:"80.1%"},{width:"24.7%",left:"75.1%"},{width:"29.7%",left:"70.1%"},{width:"34.7%",left:"65.1%"},{width:"39.7%",left:"60.1%"}]];function tP(){I?(OO.style.width=aP[1][3].width,OO.style.left=aP[1][3].left,OO.style.height="99.6%",m("play_chat_dialog").style.marginTop=A8[3].dialogTop+"%",OO.style.top="0.2%"):(OO.style.width=aP[NI][BI].width,OO.style.left=aP[NI][BI].left,OO.style.height="99.6%",m("play_chat_dialog").style.marginTop=A8[3].dialogTop+"%",OO.style.top="0.2%",_&&ej(P),S[h6].values=Ir,S[_6].values=["10%","15%","20%","25%","30%","35%","40%"],S[h6].defaultValue=NI,S[_6].defaultValue=BI,S[h6].setLabel(),S[h6].bottomArrows(),S[_6].setLabel(),K6(_6)),e8=!0,OO.classList.remove("hide"),_||O0(),O.show_chatters.defaultValue&&$b(0,0)}var iP={height:"",marginTop:"",top:"",left:"",WasEnable:!1,controlsPos:[],controlsPosDefault:0,controlsSizeDefault:0};function oP(){iP.controlsPos=S[_6].values,iP.controlsPosDefault=S[_6].defaultValue,iP.controlsSizeDefault=S[h6].defaultValue,iP.WasEnable=e8,iP.height=OO.style.height,iP.marginTop=m("play_chat_dialog").style.marginTop,iP.top=OO.style.top,iP.left=OO.style.left,ZI()}function nP(){iP.controlsPos.length&&(S[_6].values=iP.controlsPos,S[_6].defaultValue=iP.controlsPosDefault,zD(),S[h6].defaultValue=iP.controlsSizeDefault,S[h6].setLabel(),S[h6].bottomArrows(),S[_6].setLabel(),K6(_6),e8=iP.WasEnable,OO.style.width="",(e8?BD:ND)(),OO.style.height=iP.height,m("play_chat_dialog").style.marginTop=iP.marginTop,OO.style.top=iP.top,OO.style.left=iP.left,ZI()),O0()}function sP(){6<++BI&&(BI=0),lP()}function lP(){tj(BI),tP(),g("Play_FullScreenSize",BI)}function dP(){NI^=1,rP()}function rP(){aj(NI),tP(),g("Play_FullScreenPosition",NI)}function cP(){var e=.76*S8[r.Chat_font_size_new]+"%";m("chat_inner_container1").style.fontSize=e,m("chat_inner_container0").style.fontSize=e}function uP(e,a,t,i,o){return e='
'+e+f+f+'
',t?e+=1===t?f+f+'
  VOD  
':f+f+'
  CLIP  
':(a=TP(),t=Z,o?t=Be:a&&(t=Jo),e+=f+f+'
'+f+f+t+f+f+"
"),e+'
'+f+f+i+"
"}function fP(){J6(),E6=D6,vD()&&2===GB&&H6()}function pP(e,a,t){var i;1===a?(k.qualityIndex+=-1*e,i=qD()-1,k.qualityIndex=hP(k.qualityIndex,i),XD(qD,k.qualityIndex,FT,S[t])):2===a?(PB+=-1*e,i=GN()-1,XD(GN,PB=hP(PB,i),qN,S[t])):3===a&&(hC+=-1*e,i=rI()-1,XD(rI,hC=hP(hC,i),cI,S[t]))}function hP(e,a){return a'}function dM(e){bP()&&!_D()?(SP(),u8?(AW(N),wP(),pD()):N===FW||N===NW?MW(N):(u8=!0,AW(N),wP())):_B()?hB():XK()&&!bP()?N===FW||N===NW?MW(N):YK():vD()&&!$N()?(e?kN:xD)():$N()&&(_D()||T("single_clickExit"))?(ZN(),wN(!1),tD()):_D()||T("single_clickExit")?JO?S[o6].enterKey():(I?oE:(hD(),ND(),e?(dL(),yN):(cM(),eD)))():((rD()||fD())&&(o(DT),o(TT),dD(),uD()),rM())}function rM(){var e=I?fo:Me;c("play_dialog_exit_text",JO?Ss:e),pD()}function cM(){i8&&0'}function pM(){var e,a=0;if(JO)for(var t=KO?"big":"";a<4;a++)e=0'+e+"")}},S[JM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"gamepad",offsetY:-8,string:ft,values:"",defaultValue:null,enterKey:function(e){yD(),WP(e)},setLabel:function(e){d("controls_text_summary_"+this.position,'
'+(""===e?Ai:e)+"
")}},S[XM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"play",offsetY:-8,string:ef,values:"",defaultValue:null,enterKey:function(){yD(),uE(),VI(r.Main_selectedChannel)},setLabel:function(e,a){d("controls_text_summary_"+this.position,'
'+e+"
"),JA(S[this.position].doc_title,a+f+this.string)}},S[QM]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"movie-play",offsetY:-9,string:Pt,values:"",defaultValue:null,enterKey:function(){yD(),vI()},setLabel:function(e,a){d("controls_text_summary_"+this.position,'
'+e+"
"),XA(S[this.position].doc_title,this.string+" - "+a)}},S[YM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"heart-o",offsetY:-5,string:Ka,values:"",defaultValue:null,enterKey:function(e){V_=1===e?k.data[14]:r.Main_selectedChannel_id,oM(),U6(e)},setLabel:function(e,a){XA(S[this.position].doc_title,e),this.setIcon(a)},setIcon:function(e){d("controls_button_icon_holder_"+this.position,'')}},S[KM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"speedometer",offsetY:-5,string:Xi,values:[.25,.5,.75,1,1.05,1.1,1.15,1.2,1.25,1.5,1.75,2],defaultValue:3,enterKey:function(){TP()||(UO=this.defaultValue,l7(this.values[this.defaultValue]),WI())},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){XA(this.doc_name,this.values[this.defaultValue]+(1===this.values[this.defaultValue]?"x ("+Ki+")":"x"))},bottomArrows:function(){K6(this.position)}},S[WM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"external",string:tr,values:["1080p60 | Source | 10.00Mbps | avc"],defaultValue:0,enterKey:function(e){TP()||(_?(d7(BT[S[this.position].defaultValue]),wD(e)):cD(xf,2e3))},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.setLabel()},setLabel:function(){XA(this.doc_name,S[this.position].values[S[this.position].defaultValue]),this.bottomArrows()},bottomArrows:function(){K6(this.position)}},S[ZM]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:Qi,values:["1080p60 | Source | 10.00Mbps | avc"],defaultValue:0,enterKey:function(e){var a;TP()||(1===e?(k.quality=k.qualityPlaying,NV.quality=k.quality,a=k.quality,j8(k.qualities[k.qualityIndex].id),FT(lV),a!==k.quality?Q3(k.qualities[k.qualityIndex].position):fj(1,0,0),QD()):2===e?(a=jB=CB,jB=IB[PB].id,CB=jB,qN(lV),a!==jB?Q3(IB[PB].position):fj(2,Cj(),0),LN()):3===e&&(fC=pC,fC=_C[hC].id,pC=fC,mC=_C[hC].url,cI(lV),JC(),dI()),U6(e))},updown:function(e,a){pP(e,a,ZM)}},S[$M]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:po,values:zu,defaultValue:2,enterKey:function(e){TP()||(2===this.defaultValue?(fj(1,0,0),fj(1,0,1)):this.defaultValue?fj(1,0,0):fj(1,0,1),this.setLabel(),U6(e))},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=this.values.length-1:this.defaultValue>this.values.length-1&&(this.defaultValue=0),this.setLabel()},setLabel:function(){var e;j.data&&k.data&&(e=(this.defaultValue?k:j).data[1],XA(this.doc_name,S[this.position].defaultValue<2?S[this.position].values[S[this.position].defaultValue]+" - "+e:S[this.position].values[S[this.position].defaultValue]))}},S[e6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"videocamera",offsetY:-6,string:po,values:su,defaultValue:0,enterKey:function(e){if(!TP()){if(this.defaultValue){var a=S[this.position].defaultValue-1;n7(a,C[a].AutoUrl,C[a].playlist,!0)}else for(var t=0;tthis.values.length-1&&(this.defaultValue=0),this.defaultValue&&!C[S[this.position].defaultValue-1].data.length?this.updown(e):this.setLabel()},setLabel:function(){var e=S[this.position].defaultValue-1;this.defaultValue&&!C[e]||XA(this.doc_name,S[this.position].defaultValue?S[this.position].values[S[this.position].defaultValue]+" - "+C[e].data[1]:S[this.position].values[S[this.position].defaultValue])}},S[a6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"screen-off",offsetY:-6,string:pp,enterKey:function(e){wD(e),LI=!0,WH()}},S[t6]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"history",offsetY:-7,string:tn,values:nc,defaultValue:XO,enterKey:function(e){if(!TP()){if(XO=this.defaultValue,_)if(dj(XO),JO)for(var a=0;athis.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){XA(this.doc_name,S[this.position].values[S[this.position].defaultValue])},bottomArrows:function(){K6(this.position)}},S[i6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"feed",offsetY:-5,string:xc,values:[],defaultValue:0,enterKey:function(){UB=HB[this.defaultValue].posMs/1e3,zN()},updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),this.bottomArrows(),this.setLabel()},setLabel:function(){XA(this.doc_name,S[this.position].values[S[this.position].defaultValue])},bottomArrows:function(){K6(this.position)}},S[o6]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"multi",string:js,values:null,enterKey:function(e){if(_&&!TP())if($O<4)cD(Zu.replace("%x",$O)+js,3e3);else if(JO=!JO){xD(),y(k.quality,"Auto")||(j8("Auto"),Q3(-1),XD(qD,0,FT,S[ZM])),s7(KO,0);for(var a=0;a<4;a++)C[a]=JSON.parse(JSON.stringify(NV));for(C[0]=JSON.parse(JSON.stringify(k)),ZE(0,C[0].data[3],C[0].data[13],C[0].data[1],C[0].data[8],C[0].data[9],Hee.parse(C[0].data[2],!1,!0),C[0].data[14]),I&&(C[1]=JSON.parse(JSON.stringify(j)),ZE(1,C[1].data[3],C[1].data[13],C[1].data[1],C[1].data[8],C[1].data[9],Hee.parse(C[1].data[2],!1,!0),C[1].data[14])),SE(),a=I?2:1;a<4;a++)WE(a);(DI=LD())&&S[l6].enterKey(),pM(),I3("MultiStream",C[0].data[6],C[0].data[3],y(C[0].data[1],He)?"HOSTING":C[0].data[15])}else o7(),CE(e),hD(),OT(1,I)}},S[n6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-4,string:Lu,values:null,defaultValue:null,enterKey:function(){B6=n6,J6(),E6=UM,FI(),H6()}},S[s6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:P?"resize-down":"resize-up",offsetY:-7,string:Yi,values:null,defaultValue:null,enterKey:function(e){eP(P=!P),I&&(P?(Aw(1),C5):(bb(1),j5))(),R2(),this.setLabel(),this.setIcon(),U6(e)},setLabel:function(){var e=I?P?Bo:Eo:P?Hi:Ji;XA(S[this.position].doc_title,Yi+" - "+e),e=I?P?Eo:Bo:P?Ji:Hi,c("controls_text_summary_"+this.position,du+e),S[l6].position&&S[l6].setLabel()},setIcon:function(){var e=I?"pp":P?"resize-down":"resize-up";d("controls_button_icon_holder_"+this.position,'')}},S[l6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"chat",offsetY:-3,string:jn,values:null,defaultValue:null,enterKey:function(){!P&&!JO||KO||(g("ChatEnable",(e8=LD()||bP()?(ND(),!1):(BD(),!0))?"true":"false"),this.setLabel())},setLabel:function(){var e=LD()?pt:ge;P||JO?JO&&KO&&(e=ol):e=I?Eo:Ji,c("controls_text_summary_"+this.position,"("+e+")")}},S[r6]={ShowInLive:!0,ShowInVod:!1,ShowInClip:!1,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"keyboard",offsetY:-5,string:_l,values:null,defaultValue:null,enterKey:function(){r.Play_ChatForceDisable?cD(ji,1500):zm()&&v[0].access_token?(I&&!P?pv:M1)():cD(Fl,1500)}},S[d6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"chat-settings",offsetY:-6,string:Tu,values:null,defaultValue:null,enterKey:function(){B6=d6,J6(),E6=UM,q6("ShowInChat"),H6()}},S[c6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"status",offsetY:-5,string:Hu,values:Zr,defaultValue:UV,updown:function(e,a){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),g("Play_Status_Visible",UV=this.defaultValue),this.bottomArrows(),mD(a)},bottomArrows:function(){K6(this.position)}},S[u6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"preview",offsetY:-4,string:Uu,values:null,defaultValue:null,enterKey:function(){B6=u6,J6(),E6=UM,S[I6].defaultValue=T("show_feed_player"),S[I6].bottomArrows(),S[P6].defaultValue=T("preview_sizes"),S[P6].bottomArrows(),S[M6].defaultValue=T("preview_volume_new"),S[M6].bottomArrows(),S[V6].defaultValue=T("preview_others_volume_new"),S[V6].bottomArrows(),q6("ShowInPreview"),H6()}},S[f6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-stop",offsetY:-5,string:Ii,values:null,defaultValue:null,enterKey:function(e){r.Play_ChatForceDisable=!r.Play_ChatForceDisable,1===e?(bb(0),!I||P||JO||bb(1)):Kw(),this.setLabel(),I4()},setLabel:function(){c("controls_text_summary_"+this.position,"("+(r.Play_ChatForceDisable?pt:ge)+")")}},S[p6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-delay",offsetY:-5,string:lo,values:[ei,cu,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30,45,60,90,120,150,180,240,300],defaultValue:h8,isChat:!1,updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),p8=1this.values.length-1&&(this.defaultValue=0),P||JO?(EO+=e,FD(),this.defaultValue=EO):(NI=this.defaultValue,rP()),this.setLabel(),this.bottomArrows())},setLabel:function(){XA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){this.doc_up.classList.remove("hide"),this.doc_down.classList.remove("hide"),this.doc_up.style.opacity="1",this.doc_down.style.opacity="1"}},S[_6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-size",offsetY:-5,string:Ui,values:["12.5%","25%","50%","75%","100%"],defaultValue:LO,isChat:!0,updown:function(e){if(LD()&&!KO&&(P||!I)){if(this.defaultValue+=e,this.defaultValue<0)this.defaultValue=0;else if(this.defaultValue>this.values.length-1)return void(this.defaultValue=this.values.length-1);this.bottomArrows(),P||JO?((LO=this.defaultValue)===qO-1&&-1===e?UD(!1):LO===qO&&UD(!0),GD(!0),S[h6].defaultValue=EO):(BI=this.defaultValue,lP()),this.setLabel()}},setLabel:function(){XA(S[h6].doc_name,S[h6].values[S[h6].defaultValue]),XA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){K6(this.position)}},S[m6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-brig",offsetY:-5,string:Pi,values:["0%","5%","10%","15%","20%","25%","30%","35%","40%","45%","50%","55%","60%","65%","70%","75%","80%","85%","90%","95%","100%"],defaultValue:r.ChatBackground,isChat:!0,updown:function(e){LD()&&(P||JO)&&!KO&&(this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),r.ChatBackground=this.defaultValue,NO=(.05*this.defaultValue).toFixed(2),RD(!1),this.setLabel(),this.bottomArrows(),I4())},setLabel:function(){XA(this.doc_name,this.values[this.defaultValue])},bottomArrows:function(){K6(this.position)}},S[g6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!0,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!1,icons:"chat-font",offsetY:-6,string:ii,values:S8,defaultValue:r.Chat_font_size_new,isChat:!0,timeoutID:null,updown:function(e){LD()&&(this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),r.Chat_font_size_new=this.defaultValue,this.bottomArrows(),this.setLabel(),this.timeoutID=A(function(){cP(),I4()},150,this.timeoutID))},setLabel:function(){XA(this.doc_name,this.values[this.defaultValue]+"%")},bottomArrows:function(){K6(this.position)}},S[v6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"speaker",offsetY:-4,string:Du,values:null,defaultValue:null,enterKey:function(){mM.length||(mM=qk(RV)),RV=[1,1,1,1],N7(),q7(),FI(),cD(Gu,2e3),pM()}},S[b6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"levels",offsetY:-5,string:Eu,values:null,defaultValue:null,enterKey:function(){zV=[100,100,100,100],L7(),q7(),FI(),cD(qu,2e3),pM()}},S[y6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[iu,$t],defaultValue:RV[0],updown:function(e){HI(0,e,this)},setLabel:function(){var e=k.data[1];VB||uC?e=r.Main_selectedChannelDisplayname:JO&&(e=C[0].data[1]),JI(0,e,this)},bottomArrows:function(){K6(this.position,!0)}},S[w6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!0,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:zV[0],updown:function(e){XI(0,e,this)},setLabel:function(){var e=k.data[1];VB||uC?e=r.Main_selectedChannelDisplayname:JO&&(e=C[0].data[1]),QI(0,e,this)},bottomArrows:function(){K6(this.position,!0)}},S[x6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[iu,$t],defaultValue:RV[1],updown:function(e){HI(1,e,this)},setLabel:function(){JI(1,(I?j:C[1]).data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[A6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!0,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:zV[1],updown:function(e){XI(1,e,this)},setLabel:function(){QI(1,(I?j:C[1]).data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[S6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[iu,$t],defaultValue:RV[2],updown:function(e){HI(2,e,this)},setLabel:function(){JI(2,C[2].data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[k6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:zV[2],updown:function(e){XI(2,e,this)},setLabel:function(){QI(2,C[2].data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[j6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"volume",offsetY:-5,string:"",values:[iu,$t],defaultValue:RV[3],updown:function(e){HI(3,e,this)},setLabel:function(){JI(3,C[3].data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[C6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!0,ShowInPreview:!1,ShowInStay:!1,icons:"vol-level-4",offsetY:-5,string:"",values:new Array(101),defaultValue:zV[3],updown:function(e){XI(3,e,this)},setLabel:function(){QI(3,C[3].data[1],this)},bottomArrows:function(){K6(this.position,!0)}},S[I6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"preview",offsetY:-5,string:Ru,values:[ge,pt],defaultValue:O.show_feed_player.defaultValue,updown:function(e){zI("show_feed_player",this,e)},bottomArrows:function(){K6(this.position)}},S[P6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"pp",offsetY:-9,string:Fu,values:cr,defaultValue:O.preview_sizes.defaultValue,updown:function(e){zI("preview_sizes",this,e),r7(T("preview_sizes"))},bottomArrows:function(){K6(this.position)}},S[M6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"volume",offsetY:-5,string:ur,values:AH(),defaultValue:O.preview_volume_new.defaultValue,updown:function(e){zI("preview_volume_new",this,e),c7(T("preview_volume_new"))},bottomArrows:function(){K6(this.position)}},S[V6]={ShowInLive:!1,ShowInVod:!1,ShowInClip:!1,ShowInPP:!1,ShowInMulti:!1,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!0,ShowInStay:!1,icons:"speaker",offsetY:-4,string:sr,values:AH(),defaultValue:O.preview_others_volume_new.defaultValue,updown:function(e){zI("preview_others_volume_new",this,e),u7(T("preview_others_volume_new"))},bottomArrows:function(){K6(this.position)}},S[T6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"feed",offsetY:-4,string:z,values:null,defaultValue:null,enterKey:function(e){var a=AM;2===e?a=uL:3===e&&(a=jI),a5(a)}},S[O6]={ShowInLive:!0,ShowInVod:!0,ShowInClip:!0,ShowInPP:!0,ShowInMulti:!0,ShowInChat:!1,ShowInAudio:!1,ShowInAudioPP:!1,ShowInAudioMulti:!1,ShowInPreview:!1,ShowInStay:!0,icons:"globe",offsetY:-4,string:gi,values:O.content_lang.values,defaultValue:T("content_lang"),updown:function(e){this.defaultValue+=e,this.defaultValue<0?this.defaultValue=0:this.defaultValue>this.values.length-1&&(this.defaultValue=this.values.length-1),oz(this.defaultValue)},bottomArrows:function(){K6(this.position,!0),JA(this.doc_name,yk(this.values[this.defaultValue]))}};var e,a=m("controls_holder"),t=document.createDocumentFragment(),i=0,o=Object.keys(S).length;for(gS(a),SM=-1;i
'+S[i].string+'
'+(S[i].values?L6(i):f)+"
",t.appendChild(e),SM++,S[i].position=i,S[i].visible=!0,S[i].doc=e;for(a.appendChild(t),i=0;i
 
'+S[e].values[S[e].defaultValue]+"
"}function q6(e){for(var a in S)(S[a][e]?Q6:Y6)(a);S[E6].visible||fP()}function G6(){++LO>qO?(LO=0,UD(!1)):LO===qO&&UD(!0),GD(!0),S[_6].defaultValue=LO,S[_6].bottomArrows(),S[_6].setLabel()}function z6(){EO++,FD(),S[h6].defaultValue=EO,S[h6].setLabel()}function R6(e){S[E6].enterKey?S[E6].enterKey(e):U6(e)}function U6(e){DD(),1===e?ED():2===e?NN():3===e&&uI()}function F6(e,a){S[E6].updown?S[E6].updown(a,e):1===a&&(1S8.length-1&&(r.Chat_font_size_new=S8.length-1),nB(),N6(),GD(!1),RD(!1),cP()}function KV(){var e="Client-ID",a="Accept",t="application/vnd.twitchtv.v5+json";Wx=[[e,om],[a,t],[aA,null]],Zx=[[e,lm],[a,t],[aA,null]],pk(),Rm()&&hk(),g8=[[e,Zx[0][1]]],b8=[[e,Zx[0][1]],["Accept","application/vnd.twitchtv.v5+json"]],v8=[[e,dm]],Xx=[[e,om],[a,t]],Jx=JSON.stringify(Xx)}function WV(){return!(HW<=N&&(cD(Hs,1500),1))}var ZV,$V=0;function e5(e,a){$V=a?(gA.style.background="none",null):(zk($V,e=P?e:null)||(gA.style.backgroundRepeat="no-repeat",gA.style.backgroundSize="100%",gA.style.backgroundColor="#000000",gA.style.backgroundImage=e?"url('"+e+"')":"none"),e)}function a5(e){x("keydown",ZV=e),w("keydown",o5),l("dialog_controls_player"),w3("Controls_Player")}function t5(){t("dialog_controls_player"),x("keydown",o5),w("keydown",ZV)}function i5(){return RA("dialog_controls_player")}function o5(e){switch(e.keyCode){case Hh:case Yh:case Qh:t5()}}var n5,s5=!1,I=!1,l5=!1;function d5(){var e;s5=!0,r5=0,$O<2?cD(Zu.replace("%x",$O)+$u,3e3):WV()&&(e=nM(!1,!1))&&((l5=I)?w5():qV=JSON.parse(JSON.stringify(NV)),j.data=e,j.watching_time=(new Date).getTime(),j.isHost=y(j.data[1],He),j.isHost&&(j.DisplayNameHost=j.data[1],j.data[1]=j.DisplayNameHost.split(He)[0]),I=!0,d("chat_container_name_text1",f+j.data[1]+f),_&&(y(k.quality,"Auto")||Q3(-1),j8("Auto"),XD(qD,0,FT,S[ZM]),j.quality="Auto",j.qualityPlaying=j.quality),(z8?(j.AutoUrl=G8,y5(U8,!0),Y8):g5)(),I3("PictureInPicture",j.data[6],j.data[3],j.isHost?"HOSTING":j.data[15],E[N].Screen))}var r5,c5,u5,f5,p5,h5,_5,m5=0;function g5(e){_&&(m5=(new Date).getTime(),e?(e=eT(j.data[6]))?b5(JSON.parse(e),!1):I5(!1,0):fO(!0,j.data[6],m5,null,v5))}function v5(e){I&&i8&&e&&0<(e=JSON.parse(e)).checkResult&&e.checkResult===m5&&b5(e)}function b5(e,a){200===e.status?(j.AutoUrl=e.url,y5(e.responseText)):a?I5(!1,0):F5(1===e.status||403===e.status?ci:404===e.status?j.data[1]+" "+Z+fe:uo)}function y5(e,a){j.watching_time=(new Date).getTime(),pM(),j.playlist=e,O5(),P?rj(HO):(bb(1),$3(P),j5(),tP()),_&&i8&&(a?hj:pj)(j.AutoUrl,j.playlist,1,0,1),YK(a),qV=JSON.parse(JSON.stringify(NV)),H5(),ab=!0,j.isHost||wk("live",j.data),cT(j.data[14],j.data[7],j.data[0]),u3("PlayExtra_data.playlist\n"+j.playlist)}function w5(){qV=JSON.parse(JSON.stringify(j)),wk("live",j.data)}function x5(){cD(j.data[1]+" "+Z+fe,2e3),j=JSON.parse(JSON.stringify(qV)),qV=JSON.parse(JSON.stringify(NV))}function A5(){GV=JSON.parse(JSON.stringify(k))}function S5(){j=JSON.parse(JSON.stringify(GV))}function k5(){A5(),k=JSON.parse(JSON.stringify(j)),r.Main_Go===fx&&(r.Main_OldgameSelected=r.Main_gameSelected_id),S5(),P4(),tT(P,!1),E5(),P||yb(),d("chat_container_name_text1",f+j.data[1]+f),d("chat_container_name_text0",f+k.data[1]+f),NT(GT(k.playlist),0,k.data[1]);var e=zV[0];zV[0]=zV[1],zV[1]=e,pM()}function j5(){l("chat_container1"),l("chat_container_name0"),l("chat_container_name1")}function C5(){t("chat_container1"),t("chat_container_name0"),t("chat_container_name1")}function I5(e,a){!a&&O.open_host.defaultValue?(cD(j.data[1]+" "+Z+fe+Vd,2e3),A(function(){M5(e?1:0)},2e3)):P5(e,a)}function P5(e,a,t){var i=(e?k:j).data[1]+" "+Z+fe;1===a&&(i=wr+u+xr),2===a&&(i=yr+u+xr),e&&(cj(),k5()),cD(i+JT(t),2500+(a?2500:0)),oE()}function M5(e){r5=(new Date).getTime();var a=(e?k:j).data[14];a?vk(V5,e,r5,a):P5(e)}function V5(e,a,t){if(i8&&r5===t){if(200===e.status){t=JSON.parse(e.responseText).data;if(t.user&&t.user.hosting&&((e=t.user.hosting).id=e.id.toString(),e.id!==j.data[14].toString())&&e.id!==k.data[14].toString())return s8=!0,t=(a?k:j).data[1]+Dt+Fe+e.displayName,a?(r.Play_isHost=!0,k.DisplayNameHost=e.displayName+He+k.data[1],k.data[6]=e.login,k.data[1]=e.displayName,k.data[14]=e.id,C8(),UI(0)):I&&(j.DisplayNameHost=e.displayName+He+k.data[1],j.data[6]=e.login,j.data[1]=e.displayName,j.data[14]=e.id,j.isHost=!0,g5()),void lD(t,4e3)}P5(a)}}function O5(){S[s6].setLabel(),S[s6].setIcon(),q6("ShowInPP"),t("stream_info"),l("stream_info_pp")}function T5(){j=JSON.parse(JSON.stringify(NV)),S[s6].setLabel(),S[s6].setIcon(),q6("ShowInLive"),Aw(1),C5(),t("stream_info_pp"),l("stream_info"),UI(0)}function D5(){I=!1,j=JSON.parse(JSON.stringify(NV))}function E5(){k.data[9]&&(m("stream_info_ppimg0").src=k.data[9]),z5(k.data[14],0),c5!==k.data[2]&&d("stream_info_pp_title0",Hee.parse(k.data[2],!1,!0)),c5=k.data[2],u5!==k.data[3]&&d("stream_info_pp_game0",""===k.data[3]?f:ee+k.data[3]),u5=k.data[3],f5!==k.data[13]&&d("stream_info_pp_viewers0",ae+b4(k.data[13])+f+y4(k.data[13])+","),f5=k.data[13],j.data[9]&&(m("stream_info_ppimg1").src=j.data[9]),z5(j.data[14],1),p5!==j.data[2]&&d("stream_info_pp_title1",Hee.parse(j.data[2],!1,!0)),p5=j.data[2],h5!==j.data[3]&&d("stream_info_pp_game1",""===j.data[3]?f:ee+j.data[3]),h5=j.data[3],_5!==j.data[13]&&d("stream_info_pp_viewers1",ae+b4(j.data[13])+f+y4(j.data[13])+","),_5=j.data[13]}var B5,N5,L5,q5,G5=[];function z5(e,a){(!a&&k.data&&k.data.length&&null!==k.data[10]&&null!==k.data[9]||a&&j.data&&j.data.length&&null!==j.data[10]&&null!==j.data[9])&&U5(a),G5[a]=(new Date).getTime(),sk(e=eA+"users?id="+e,R5,V,a,G5[a],!0)}function R5(e,a,t){(e=JSON.parse(e)).data&&e.data.length&&G5[a]===t&&(t=e.data[0],a?(j.data[10]="partner"===t.broadcaster_type,j.data[9]=t.profile_image_url):(k.data[10]="partner"===t.broadcaster_type,k.data[9]=t.profile_image_url),U5(a))}function U5(e){var a;e?(a=uP(j.isHost?j.DisplayNameHost:j.data[1],j.data[10],0,j.data[5]?"["+j.data[5].split("[")[1]:"",j.data[8]),B5!==a&&d("stream_info_pp_name1",a),B5=a,L5!==k.data[9]&&(m("stream_info_ppimg1").src=j.data[9]),L5=j.data[9]):(a=uP(k.isHost?k.DisplayNameHost:k.data[1],k.data[10],0,k.data[5]?"["+k.data[5].split("[")[1]:"",k.data[8]),N5!==a&&d("stream_info_pp_name0",a),N5=a,q5!==k.data[9]&&(m("stream_info_ppimg0").src=k.data[9]),q5=k.data[9])}function F5(e){0'),nD(),t8=0,navigator.onLine?$8():VO=p3($8,100,VO),mD(1)}function Z8(e){A(function(){0"),d("stream_info_multiimgholder_big"+e,'"),d("stream_dialog_multiimgholder_big"+e,'"),d("stream_dialog_multiimgholder"+e,'");var a=m("stream_info_multiimg_big0");a.style.width="16.5%",a.style.marginTop="-0.5%",d("stream_dialog_multiimgholder-1",'"),d("stream_info_ppimgholder0",'"),d("stream_info_ppimgholder1",'")}var sB,lB=0;function dB(e){for(var a=KO?"_big":"",t=0;t<4;t++)c("stream_dialog_multi_name"+a+t,C[t].data[1]),C[t].data[9]?m("stream_dialog_multiimg"+a+t).src=C[t].data[9]:rB(C[t].data[14],t),d("stream_dialog_multi_game"+a+t,""===C[t].data[3]?f:C[t].data[3]),d("stream_dialog_multi_title"+a+t,Hee.parse(C[t].data[2],!1,!0));c("stream_dialog_multi_name-1",y(e[1],He)?e[1].split(He)[0]:e[1]),e[9]?m("stream_dialog_multiimg-1").src=e[9]:rB(e[14],-1),d("stream_dialog_multi_game-1",""===e[3]?f:e[3]),d("stream_dialog_multi_title-1",Hee.parse(e[2],!1,!0)),(z8?(_j(1),KK):YK)(),lB=0,uB(),pB()}function rB(e,a){sk(e=eA+"users?id="+e,cB,V,a,0,!0)}function cB(e,a){var t;(e=JSON.parse(e)).data&&e.data.length&&(e=e.data[0],t=KO?"_big":"",0 '),GA(GM),wV(),UO=3,kW(),mD(2),RB=0,m8=hH,NB=O.vod_seek_max.defaultValue,FN(O.vod_seek_min.defaultValue),q6("ShowInStay"),wK=!(bC=!0),bR=0,r.Play_isHost=!1,eI(0,0),eI(1,0),pM(),bA||(yT(m("stream_info_icon"),r.Main_selectedChannelLogo||Ph),d("stream_info_name",uP(r.Main_selectedChannelDisplayname,r.Main_selectedChannelPartner,1,"["+yR.toUpperCase()+"]")),d("stream_info_title",AR),c("stream_info_game",SR),JA(nV,wR+","+f+xR),c("stream_live_viewers",""),XA(sV,""),YA("stream_info_title")),QB(),z8?WB():(nD(),e=!0,a=T("vod_dialog"),xB=0,!FB&&!bA&&a<2&&(t=zm()?Ik("vod",r.ChannelVod_vodId):-1,(xB=-1 '),BB=O.vod_seek_min.defaultValue,MD-=DB,DB=0,TO.style.transition="",VB&&EN(UB,WO,!0),UB=0}function RN(){BB=O.vod_seek_min.defaultValue,RB=0,UN="",FN(O.vod_seek_min.defaultValue),x("keyup",YN)}var UN="";function FN(e,a){DB&&!GB&&(BM.style.display="inline-block"),JA(BM,ui+(a||"")+(VB?O.vod_seek_min.values[e]+u+(JN?_c:hc):"1"+fi)),UN=a}var HN,JN=!1;function XN(){o(vB),JN&&(BB=HB[a].posMs){HB[a].game&&(JL(HB[a].gameId,HB[a].game),vD()&&E6===i6||(S[i6].defaultValue=a,S[i6].setLabel(),S[i6].bottomArrows()));break}}function JL(e,a){AB=e,k.data[18]=e,(k.data[3]=a)&&(S[JM].setLabel(a),d("stream_info_game",ee+a))}function XL(){bB=T("seek_preview")}var QL,YL,KL,WL,M={},ZL=!1,$L=1e4,e9=250,a9=300,t9=!0,i9=!1,o9=!0,n9=!1;function s9(){for(var e in QR(),eU(),oU(),iU(),tU(),nU(),sU(),lU(),dU(),rU(),YR(),ZR(),WR(),$R(),uU(),cU(),aU(),fU(),KR(),pU(),hU(),_U(),mU(),w("keyup",vq),M)M[e].key_fun=wq.bind(null,M[e].screen),M[e].key_up=mq.bind(null,M[e].screen),M[e].key_thumb=VG.bind(null,M[e].screen),M[e].key_hist=aG.bind(null,M[e].screen),M[e].key_histdelet=zq.bind(null,M[e].screen),M[e].key_period=Tq.bind(null,M[e].screen),M[e].key_controls=D9.bind(null,M[e].screen);M[K2]={start_fun:cee,init_fun:dee,key_fun:Oee,exit_fun:ree},M[K2].key_controls=D9.bind(null,K2),M[dx]={start_fun:vg,init_fun:mg,key_fun:Kg,exit_fun:gg},M[dx].key_controls=D9.bind(null,dx),YL=m("dialog_thumb_opt"),KL=m("yes_no_dialog"),A(y3),r9()}function l9(e,a){return[a+"_thumbdiv_",a+"_img_",a+"_title_",a+"_data_",e+"_scroll",a+"_animated_",a+"_row_",a+"_watched_",a+"_time_",a+"_since_",a+"_views_",a+"_innerTitle_",a+"_game_"]}function d9(){for(var e={},a=0,t=arguments.length;aM[e].ItemsLimit?t=M[e].ItemsLimit:M[e].loadingData||(M[e].dataEnded=!0),M[e].HasSwitches&&!M[e].TopRowCreated&&M[e].addSwitches(),!M[e].hasBanner()||M[e].BannerCreated||CR||M[e].addBanner(),t){var i=Math.ceil(t/M[e].ColumnsCount),o=M[e].row_id+i;for(M[e].row_id;M[e].row_id=a){M[e].tempHtml.length&&(M[e].Cells[M[e].row_id]=y9(e)),M[e].hasBanner()&&!M[e].BannerCreated&&(M[e].row_id++,M[e].tempHtml=[],M[e].addBanner());break}}}M[e].emptyContent=!(t&&M[e].itemsCount||M[e].status),M[e].emptyContent&&(M[e].BannerCreated?(M[e].itemsCount=1,M[e].emptyContent=!1,s4(he,0,!0)):M[e].addEmptyContentBanner(!0)),j9(e)}function y9(e){var a=document.createElement("div");return M[e].rowClass&&(a.className=M[e].rowClass),a.id=M[e].ids[6]+M[e].row_id,a.innerHTML=M[e].tempHtml.join(""),a}function w9(e,a,t,i){return M[i].DataObj[e]=t,'
'+(t[5]?'':"")+t[3]+(t[4]?f+f+'
':"")+"
"}function x9(e,a,t,i){return M[i].DataObj[e]=t,'
'+t[1]+"
"+(""!==t[2]?'
'+t[2]+"
":"")+"
"}function A9(e,a,t,i,o,n){var s=t[3]&&""!==t[3]?ee+t[3]:"";return M[i].DataObj[e]=t,'
'+t[4]+'
'+YT(t[1])+""+f+""+t[11]+'
'+t[10]+'
'+s+'
'+It+t[16]+","+f+t[14]+w4(t[13])+"
"+(o?'
'+Rn+E4(o)+f+Un+YT(n":"")+"
"}function S9(e,a,t,i,o,n){return M[i].DataObj[e]=t,'
'+t[1]+'
'+YT(t[11])+""+f+""+t[5]+'
'+t[10]+'
'+(""!==t[3]&&null!==t[3]?wt+ee+t[3]:"")+'
'+Se+t[2]+","+f+t[4]+w4(t[13])+"
"+(o?'
'+Rn+E4(o)+f+Un+YT(n)+"
":"")+"
"}function k9(e,a,t,i,o,n,s){t[1]||(t[1]=t[6]);var l=t[16],d=s?n:t[0].replace("{width}x{height}",Ix)+uA;return M[i].DataObj[e]=t,'
'+(n||s?'
  VOD  
 ':'
')+t[1]+'
'+t[5]+'
'+yk(Hee.parse(t[2]))+'
'+(""!==t[3]?ee+t[3]:"")+'
'+ie+t[11]+''+f+ae+t[4]+f+y4(t[13])+"
"+(o?'
'+Rn+E4(o)+f+Un+KT(o-new Date(t[12]).getTime())+"
":"")+"
"}function j9(e){if(M[e].FirstRunEnd=!0,M[e].status)UA(M[e].ScrollDoc)&&n4(M[e].posX,M[e].posY,M[e].ColumnsCount,M[e].itemsCount);else{if(r.Main_Go===fx&&e===fx&&Gz(),M[e].emptyContent)Tz(e)&&s4(M[e].emptyContent_STR?M[e].emptyContent_STR():he);else{M[e].status=!0;for(var a=M[e].Cells.length,t=0;t<(aM[e].lastRefresh+NJ()&&(I9(e,5e3*a),a++)}var M9,V9,O9=!1;function T9(e){l3()?(O9=!0,x("keydown",r3),t("dialog_accessibility")):O9=!1,h4(),g4(),c4(),x("keydown",M[e].key_controls),O9?s3():(w("keydown",M[e].key_fun),M[e].addFocus?B9(!0,e):M[e].init_fun())}function D9(e,a){switch(a.keyCode){case Hh:case Yh:case Qh:T9(e)}}function E9(e){Rx=!1,e||WA(),qm(),(r.Sidepannel_IsUser?KY:WY)(),XY(r.Main_Go),n3(!0)}function B9(e,a){if(M[a].emptyContent){if(!M[a].HasSwitches)return M[a].key_exit(M[a].emptyContent);M[a].posY=-1}M[a].posY<0?(sq(a),M[a].emptyContent||a!==r.Main_Go||TH()||n4(M[a].posX,M[a].posY+1,M[a].ColumnsCount,M[a].itemsCount)):(M[a].data&&(2M[a].data.length&&!M[a].dataEnded&&!M[a].loadingData?h9(a):M[a].posY+M[a].ItemsReloadLimit>M[a].itemsCount/M[a].ColumnsCount&&M[a].data_cursora&&(1a+3||i)&&(t9&&o9&&!i9?X9(a,-2,-2,-2,6,2,3,0,t):Q9(a,-2,-2,6,2,3,0,t)),M[t].currY=M[t].posY,$9(e,t)}function K9(e,a){M[a].Cells[e+2]?t9&&o9&&!i9?X9(e,2,4,-2,5,2,-3,1,a):Q9(e,2,-2,5,2,-3,1,a):M[a].loadingData&&A(function(){K9(e,a)},10)}function W9(e,a,t,i){M[t].currYa?a&&M[t].Cells.length>a+1&&M[t].Cells[a+2]||i?t9&&o9&&!i9?X9(a,-1,-1,-1,3,1,2,0,t):Q9(a,-1,-1,3,1,2,0,t):A(function(){z9(t)},a?0:a9):z9(t),M[t].currY=M[t].posY,$9(e,t)}function Z9(e,a){1M[e].SwitchesIcons.length-1?M[e].posX=0:M[e].posX<0&&(M[e].posX=M[e].SwitchesIcons.length-1),h(M[e].ids[0]+"-1_"+M[e].posX,"stream_switch_focused"),M[e].focusPos=-1)}function lq(e){M[e].posX>M[e].SwitchesIcons.length-1?M[e].posX=0:M[e].posX<0&&(M[e].posX=M[e].SwitchesIcons.length-1),n(M[e].ids[0]+"-1_"+M[e].posX,"stream_switch_focused")}function dq(e,a){v4()?g4():u4()?c4():(e===M[a].screen?r.Main_Go=Y2:r.Main_Go=e,f9(a))}function rq(e,a){if(M[a].FirstRunEnd)if(!M[a].HasSwitches||M[a].posY||-1!==e||M[a].emptyContent){if(M[a].HasSwitches&&-1===M[a].posY&&M[a].DataObj["0_"+M[a].posX])M[a].posY=0,B9(!1,a),lq(a);else for(var t=0;tM[a].SwitchesIcons.length-1&&(M[a].posX=1),sq(a)}function cq(e){M[e].HasAnimateThumb&&-1=M[e].posY+1?M[e].posX===M[e].ColumnsCount-1&&!t9||uq(1,0,e):B9(!0,e))}function yq(e,a){0=M[e].posY+1||M[e].Cells[M[e].posY+a]||M[e].itemsCount&&M[e].HasSwitches&&-1M[e].histArrays[M[e].histPosY].length-1?M[e].histPosX[M[e].histPosY]=M[e].histArrays[M[e].histPosY].length-1:Wq(e)}function aG(e,a){switch(a.keyCode){case Yh:case Qh:Bq(!1,e);break;case zh:$q(e);break;case Uh:eG(e);break;case Rh:M[e].histPosY--,M[e].histPosY<0?M[e].histPosY=0:(Kq(M[e].histPosY+1,"hist"),Yq(M[e].histPosY,e));break;case Fh:M[e].histPosY++,M[e].histPosY>M[e].histArrays.length-1?M[e].histPosY=M[e].histArrays.length-1:(Kq(M[e].histPosY-1,"hist"),Yq(M[e].histPosY,e));break;case Hh:Bq(!0,e)}}var tG,iG=0;function oG(e,a){var t=M[e].posY+"_"+M[e].posX;Sq=!M[e].histPosXName,-1!==M[e].posY&&!M[e].DataObj[t].image||(Sq=!0),N9(),-1Az[iG].length-1?Sz[iG]=Az[iG].length-1:vz(Az[iG]))}function DG(e,a,t){var i;(iG+=t)<-1?iG=a:gGM[e].lastRefresh+NJ()}function Vz(e){return M[e].posY+"_"+M[e].posX===M[e].focusPos}function Oz(){return Vz(r.Main_Go)&&IS()}function Tz(e){return e===r.Main_Go&&IS()&&!sY()&&!GY()&&!TH()&&!hS()&&!W4()}function Dz(e){Ez(e,M[e].posY+"_"+M[e].posX)}function Ez(e,a){var t,i,o,n=M[e].posY+"_"+M[e].posX;z8&&!$k&&n===a&&Tz(e)&&Vz(e)&&M[e].Cells[M[e].posY]&&!M[e].DataObj[a].image&&(G9(e)&&(t=Cj()/1e3,n=L9(e),i=Nz(e,n),!t&&2!==M[e].screenType||(c(M[e].ids[8]+a,YT(t)+" | "+YT(i)),o=m(M[e].ids[7]+a),t?(T("app_animations")&&(o.style.transition=""),o.style.width=t/i*100+"%"):(o.style.transition="none",A(function(){o.style.width=t/i*100+"%"},25)))),bz=A(function(){Ez(e,a)},1e3,bz))}function Bz(e,a){var t;G9(e)&&(t=YT(Nz(e,qk(M[e].DataObj[a].image?[]:M[e].DataObj[a]))),c(M[e].ids[8]+a,t))}function Nz(e,a){return a[1===M[e].screenType?11:1]}var Lz=!1;function qz(e){zm()?Yz():(s4(tt),A(function(){M[e].emptyContent&&r.Main_Go===fx?s4(ge+qe):l4()},2e3))}function Gz(){(zm()?Uz:(Lz=!1,Hz))()}var zz,Rz='{"query":"{game(id: \\"%x\\") {self{follow{followedAt}}}}"}';function Uz(e){var a=[[fk,lm],[uk,tA+v[0].access_token]];zz=(new Date).getTime(),_k(jC,a,Fz,V,e,zz,"POST",Rz.replace("%x",r.Main_gameSelected_id))}function Fz(e,a,t){zz===t&&200===e.status&&(t=JSON.parse(e.responseText).data,Lz=Boolean(t&&t.game&&t.game.self&&t.game.self.follow)),Hz()}function Hz(){r.Main_Go===fx&&d(M[fx].ids[2]+"-1_2",Lz?''+f+e+Ya:''+f+f+(zm()?Ka:at))}var Jz,Xz='{"operationName":"FollowGameButton_UnfollowGame","variables":{"input":{"gameID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"811e02e396ebba0664f21ff002f2eff3c6f57e8af9aedb4f4dfa77cefd0db43d"}}}',Qz='{"operationName":"FollowGameButton_FollowGame","variables":{"input":{"gameID":"%x"}},"extensions":{"persistedQuery":{"version":1,"sha256Hash":"b846b65ba4bc9a3561dbe2d069d95deed9b9e031bcfda2482d1bedd84a1c2eb3"}}}';function Yz(e){var a=[[fk,lm],[uk,tA+v[0].access_token]];Jz=(new Date).getTime(),_k(jC,a,Lz?Kz:Wz,V,e,Jz,"POST",(Lz?Xz:Qz).replace("%x",r.Main_gameSelected_id))}function Kz(e,a,t){Jz===t&&200===e.status&&(t=JSON.parse(e.responseText).data,Zz(!Boolean(t.unfollowGame)))}function Wz(e,a,t){Jz===t&&200===e.status&&(t=JSON.parse(e.responseText).data,Zz(Boolean(t.followGame)))}function Zz(e){Lz=e,Jz=0,Hz()}var $z=100,eR=1.35,aR=1.5,tR=45,iR=3,oR=Math.floor(tR/iR/aR),nR=45,sR=5,lR=Math.floor(nR/sR/eR),dR=48,rR=6,cR=Math.floor(dR/rR/aR),uR="",fR="",pR="",hR="",_R="",mR="",gR=0,vR=null,bR=0,yR="",wR="",xR="",AR="",SR="",kR=200,jR=3e4,V=function(){},CR=!1,IR=72e5,PR='{"query":"{user(id:\\"%x\\"){followedGames(first:100,type:LIVE){nodes{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',MR='{"query":"{featuredStreams(first:10,acceptedMature:%m%x){stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}"}',VR='{"query":"{games(first: 100) {edges{node{id,name,clips(first:50,criteria:{period:%t%l}){edges{node{title,videoOffsetSeconds,viewCount,slug,language,durationSeconds,createdAt,id,video{id},thumbnailURL(width:480,height: 272),broadcaster{id,displayName,login}}}}}}}}"}',OR='{"query":"{games(first: 30) {edges{node{id,name,videos(first:20,types:%a%l,sort:VIEWS){edges{node{duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}}}}"}',TR='{"query":"{games(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',DR='{"operationName":"FollowingLive_CurrentUser","query":"query,FollowingLive_CurrentUser{currentUser{followedLiveUsers(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}}}}"}',ER='{"operationName":"FollowedVideos_CurrentUser","query":"query FollowedVideos_CurrentUser{currentUser{followedVideos(%y first:100,types:%x,sort:%t){pageInfo{hasNextPage},edges{cursor,node{game{displayName,id},duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}}"}',BR='{"operationName":"ChannelFollows","query":"query,ChannelFollows{currentUser{follows(first:100 %y){pageInfo{hasNextPage},edges{cursor,node{id,displayName,login,followers(){totalCount},profileImageURL(width:300),roles{isPartner},stream{id}}}}}}"}',NR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:USER,limit:100}){users{cursor,pageInfo{hasNextPage}items{id,displayName,login,followers(){totalCount},profileImageURL(width:300),roles{isPartner},stream{id}}}}}"}',LR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{ index:GAME,limit:100}){games{cursor,pageInfo{hasNextPage}items{id,displayName,boxArtURL,viewersCount,channelsCount}}}}"}',qR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:LIVE,limit:100}){liveChannels{cursor,pageInfo{hasNextPage}items{stream{type,game{displayName,id},isMature,title,id,previewImageURL,viewersCount,createdAt,broadcaster{roles{isPartner},id,login,displayName,language,profileImageURL(width:300)}}}}}}"}',GR='{"query":"{searchFor(userQuery:\\"%x\\",platform:\\"web\\",target:{%y index:VOD,limit:100}){videos{cursor,pageInfo{hasNextPage}items{game{displayName,id},duration,viewCount,language,title,animatedPreviewURL,createdAt,id,thumbnailURLs(width:640,height:360),creator{id,displayName,login}}}}}"}',zR,RR,UR,FR,HR,JR,XR;function QR(){zR={posX:0,posY:-1,currY:0,row_id:0,offsettopFontsize:0,offsettop:0,column_id:0,dataEnded:!1,idObject:{},loadingData:!1,itemsCount:0,MaxOffset:0,offset:0,enable_mature:0,visiblerows:3,status:!1,FirstRunEnd:!1,emptyContent:!0,itemsCountCheck:!1,isRefreshing:!1,Headers:Wx,data:null,token:null,data_cursor:0,lastRefresh:0,PreviewEnable:0,DataObj:{},tempHtml:"",focusPos:"",IsOpen:0,Lang:"",BannerTime:0,url:jC,SetPreviewEnable:function(){this.PreviewEnable=0===this.screenType&&T("show_live_player")||1===this.screenType&&T("show_vod_player")||2===this.screenType&&T("show_clip_player")},AutoRefreshId:null,key_fun_start:function(){return wq.bind(null,this.screen)},exit_fun:function(){f9(this.screen)},init_fun:function(e){c9(this.screen,e)},start_fun:function(){p9(this.screen)},loadDataSuccess:function(){b9(this.screen)},Set_Scroll:function(){this.ScrollDoc=m(this.ids[4]),this.tableDoc=m(this.table)},addrow:W9,key_exit:function(e){pq(this.screen),this.screen!==fx||e?this.screen!==sx&&this.screen!==nx&&this.screen!==lx&&this.screen!==yx||e?this.screen!==hx&&this.screen!==px||e?this.screen!==cx&&this.screen!==rx||e?fq(!1,this.screen):(dq(dx,this.screen),k4()):(dq(fx,this.screen),k4()):(r.Main_Go===r.Main_BeforeSearch?r.Main_Go=Y2:r.Main_Go=r.Main_BeforeSearch,r.Search_isSearching=!1,dq(r.Main_Go,this.screen),k4()):(r.Games_return?(r.Main_Go=nx,r.Main_gameSelected_id=r.gameSelected_IdOld,r.gameSelected_IdOld=null):(r.Main_Go=r.Main_BeforeAgame,r.Main_BeforeAgame=Z2),dq(r.Main_Go,this.screen),k4())},concatenate:function(e){this.concatenateAfter(e)},concatenateAfter:function(e){this.data?(e[this.object]&&(this.data.push.apply(this.data,e[this.object]),this.offset=this.data.length),this.setMax(e)):(this.data=e[this.object],this.data?(this.offset=this.data.length,this.setMax(e)):this.data=[],this.loadDataSuccess()),this.loadingData=!1,this.hasBackupData&&this.setBackupData(e,this.data,this.lastRefresh,this.gameSelected_Id,this.ContentLang,this.Lang)},setBackupData:function(e,a,t,i,o,n){this.BackupData||(this.BackupData={data:{},lastScreenRefresh:{},responseObj:{},ContentLang:{},Lang:{},enable_mature:{},offsettopFontsize:{}}),t>this.BackupData.lastScreenRefresh[i]&&this.eraseBackupData(i),this.BackupData.lastScreenRefresh[i]&&!(t>=this.BackupData.lastScreenRefresh[i])||this.BackupData.data[i]&&this.BackupData.data[i].length>=a.length||this.BackupData.ContentLang[i]&&!zk(this.BackupData.ContentLang[i],o)||this.BackupData.Lang[i]&&!zk(this.BackupData.Lang[i],n)||(this.BackupData.data[i]=JSON.parse(JSON.stringify(a)),this.BackupData.responseObj[i]=e,this.BackupData.lastScreenRefresh[i]=t,this.BackupData.enable_mature[i]=O.enable_mature.defaultValue,this.BackupData.ContentLang[i]=qx,this.BackupData.Lang[i]=HH,this.BackupData.offsettopFontsize[i]=this.offsettopFontsize||T("global_font_offset"))},eraseBackupData:function(e){this.BackupData&&(this.BackupData.data[e]=null,this.BackupData.ContentLang[e]=null,this.BackupData.Lang[e]=null,this.BackupData.lastScreenRefresh[e]=0)},CheckBackupData:function(e){return this.BackupData&&this.BackupData.data[e]&&this.BackupData.data[e].length&&zk(this.BackupData.ContentLang[e],qx)&&zk(this.BackupData.Lang[e],HH)&&this.BackupData.enable_mature[e]===O.enable_mature.defaultValue&&this.BackupData.offsettopFontsize[e]===T("global_font_offset")&&(!T("auto_refresh_screen")||(new Date).getTime()=this.MaxOffset&&(this.dataEnded=!0):this.dataEnded=!0)},setTODialog:function(e){e||h("dialog_thumb_opt_setting_-1","hideimp"),c(cG,ls)},check_offset:function(){(900<=this.offset||void 0!==this.MaxOffset&&this.offset&&this.offset+$z>this.MaxOffset)&&(this.dataEnded=!0)},addCell:function(e){this.isQuery?this.addCellQuery(e):this.addCellTemp(e)},addCellTemp:function(e){var a=this.useHelix?e.user_id:e.channel._id,t=ZG(this.screen===fx&&this.BeforeAgame===bx?null:e.user_id,this.screen===fx?null:e.game_id,this.IsUser);!this.idObject[a]&&GU(e)&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(k9(this.row_id+"_"+this.column_id,this.ids,jU(e),this.screen)),this.column_id++)},addCellQuery:function(e){var a,t;e&&e.stream&&(t=ZG(a=e.stream.broadcaster.id,e.stream.game?e.stream.game.id:null,this.IsUser),!this.idObject[a])&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(k9(this.row_id+"_"+this.column_id,this.ids,kU(e),this.screen)),this.column_id++)},key_play:function(){this.is_a_Banner()||this.itemsCount&&(n(this.ids[1]+this.posY+"_"+this.posX,"opacity_zero"),this.OpenLiveStream(!1))},refreshThumb:function(){var e,a,t=this.posY+"_"+this.posX;G9(this.screen)&&!this.DataObj[t].image&&(e=this.DataObj[t][0].replace("{width}x{height}",Ix)+uA,a=m(this.ids[1]+t),PV.onload=function(){a.src=e},PV.src=e)},addFocus:function(e,a){this.refreshThumb(this),iq(e,a)}}),ItemsReloadLimit:oR,ColumnsCount:iR,addFocus:iq,rowClass:"animate_height_transition",thumbclass:"stream_thumbnail_live_holder",histPosXName:"HistoryClip_histPosX",screenType:2,cursor:null,OldUserName:"",object:"data",period:["day","week","month","all"],img_404:Ih,setTODialog:function(e){e||h("dialog_thumb_opt_setting_-1","hideimp"),c(cG,rs)},HasSwitches:!0,SwitchesIcons:["history","play-1"],addSwitches:function(){gU([f+f+Y,f+f+Oi],this.screen)},setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor||(this.dataEnded=!0)):(this.cursor=e._cursor,""===this.cursor&&(this.dataEnded=!0))},key_play:function(){if(!this.is_a_Banner()){if(-1===this.posY){if(this.loadingData)return;if(!this.posX)return void jq(this.screen);if(this.DataObj["0_0"].image)return;kC=!0,lq(this.screen),this.posX=0,this.posY=0}this.OpenClip()}},Cells:[],addCell:function(e){var a=this.useHelix||this.isQuery?e.id:e.tracking_id,t=this.isQuery&&e.broadcaster?e.broadcaster.id:e.broadcaster_id,t=ZG(this.screen===hx&&this.BeforeAgame===bx?null:t,this.screen!==hx?e.game_id:null,this.IsUser||this.screen===cx);!this.idObject[a]&&t&&(this.itemsCount++,this.idObject[a]=1,this.tempHtml.push(A9(this.row_id+"_"+this.column_id,this.ids,IU(e,this.isQuery),this.screen)),this.column_id++)}},HR={HeadersArray:Xx,thumbclass:"stream_thumbnail_game_holder",ItemsReloadLimit:lR,ItemsLimit:nR,rowClass:"animate_height_transition_games",ColumnsCount:sR,addFocus:iq,img_404:kh,screenType:3,key_play:function(){var e;this.is_a_Banner()||(RS(this.posY+"_"+this.posX,this.ids),e=L9(this.screen),r.Main_gameSelected_id=e[3],r.Main_gameSelected=e[1],x("keydown",this.key_fun),r.Main_BeforeAgame=this.screen,r.Main_Go=fx,r.Main_BeforeAgameisSet=!0,zx=0,x("keydown",this.key_fun),GA(this.ScrollDoc),M[r.Main_Go].BeforeAgame=r.Main_BeforeAgame,k4())},setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor&&""!==this.cursor||(this.dataEnded=!0)):(this.MaxOffset=e._total,this.data.length>=this.MaxOffset&&(this.dataEnded=!0))},addCell:function(e){var a=this.isLive||this.screen===Z2,t=this.hasGameProp&&!this.isQuery?e.game:e,i=this.useHelix||this.isQuery?t.id:t._id,o=ZG(null,i,this.IsUser);if(!this.idObject[i]&&o){if(this.itemsCount++,this.idObject[i]=1,this.useHelix)this.tempHtml.push(x9(this.row_id+"_"+this.column_id,this.ids,[t.box_art_url?t.box_art_url.replace(this.isSearch?"52x72":"{width}x{height}",Px):"",t.name,"",i],this.screen));else if(this.isQuery){if(!t)return;this.tempHtml.push(x9(this.row_id+"_"+this.column_id,this.ids,[t.boxArtURL?t.boxArtURL.replace("{width}x{height}",Px):"",t.displayName,(e.channelsCount?b4(e.channelsCount):0)+f+re+u+ae+(e.viewersCount?b4(e.viewersCount):0)+f+y4(e.viewersCount||0),i],this.screen))}else this.tempHtml.push(x9(this.row_id+"_"+this.column_id,this.ids,[t.box&&t.box.template?t.box.template.replace("{width}x{height}",Px):"",t.name,a?b4(e.channels)+f+re+u+ae+b4(e.viewers)+f+y4(e.viewers):"",t._id],this.screen));this.column_id++}}},JR={ItemsLimit:dR,ColumnsCount:rR,addFocus:tq,ItemsReloadLimit:cR,thumbclass:"stream_thumbnail_channel_holder",rowClass:"animate_height_transition_channel",screenType:4,img_404:jh,setMax:function(e){this.useHelix?(this.cursor=e.pagination.cursor,this.cursor&&""!==this.cursor||(this.dataEnded=!0)):!this.isQuery&&(this.MaxOffset=e._total,this.data.length>=this.MaxOffset||void 0===this.MaxOffset)&&(this.dataEnded=!0)},addCellTemp:function(e){var a=ZG(e.id,null,this.IsUser);!this.idObject[e.id]&&a&&(this.itemsCount++,this.idObject[e.id]=1,this.tempHtml.push(w9(this.row_id+"_"+this.column_id,this.ids,PU(e,this.isQuery),this.screen)),this.column_id++)},base_key_play:function(e,a){var t;this.is_a_Banner()||AS(this.posY+"_"+this.posX,this.ids[0])||(t=L9(this.screen),r.Main_selectedChannel_id=t[1],r.Main_selectedChannelDisplayname=t[3],r.Main_selectedChannelLogo=t[2],r.Main_selectedChannel=t[0],x("keydown",this.key_fun),r.Main_BeforeChannel=e,r.Main_Go=dx,r.Main_BeforeChannelisSet=!0,tg=a,f9(this.screen),k4())}},XR={ItemsReloadLimit:oR,ItemsLimit:tR,ColumnsCount:iR,addFocus:iq,rowClass:"animate_height_transition",thumbclass:"stream_thumbnail_live_holder",isHistory:!0,streamerID:{},HasSwitches:!0,key_pgDown:bx,key_pgUp:ox,histPosY:0,emptyContent_STR:function(){return gf},histPosXTemp:[0,0,0,0],sorting:[],sortingValues:[["date",0],["date",1],["name",1],["name",0],["game",1],["game",0],["views",0],["views",1],["created_at",0],["created_at",1]],sortingPos:0,Upsorting:function(){this.sorting=[Zn,$n,Jn,Xn,Qn,Yn,Kn,Wn,os,ns]},histEna:[],histEnaPos:0,histClean:[],histCleanPos:0,UpEna:function(){this.histEna=[pt,ge],this.histClean=[pt,ge]},histArrays:[],UpArrays:function(){this.histArrays=[this.sorting,this.histEna,[es],this.histClean]},set_url:V,history_concatenate:function(){this.streamerID={},this.data=zm()?JSON.parse(JSON.stringify(p[v[0].id][this.Type])):[],Dk(this.data,this.sortingValues[this.histPosX[0]][0],this.sortingValues[this.histPosX[0]][1]),this.dataEnded=!0,this.loadDataSuccess(),this.loadingData=!1},history_exit:function(){this.status&&(lq(this.screen),this.posY=0,this.posX=0,h(this.ids[0]+"0_"+this.posX,nA)),x("keydown",this.key_fun),GA(this.ScrollDoc)},sethistMainDialog:function(){this.Upsorting(),this.UpEna(),this.UpArrays(),Wq(this.screen),c("dialog_hist_val_1",this.histArrays[1][this.histPosX[1]]),this.histPosX.length<4&&this.histPosX.push(0),c("dialog_hist_val_3",this.histArrays[3][this.histPosX[3]]),m("dialog_hist_left_1").style.opacity="0",m("dialog_hist_right_1").style.opacity="0",this.histPosXTemp=qk(this.histPosX)}}}function YR(){var e=$2;M[e]=d9({periodMaxPos:4,HeadersArray:Xx,key_pgDown:ex,key_pgUp:Z2,object:"vods",ids:l9("Vod",e),ScreenName:"Vod",table:"stream_table_vod",screen:e,highlightSTR:"Vod_highlight",CheckContentLang:1,ContentLang:"",highlight:ik("Vod_highlight",!1),periodPos:ek("vod_periodPos",2),base_post:OR,isQuery:!0,set_url:function(){this.dataEnded=!0,this.post=this.base_post.replace("%l",""===qx?"":',languages:\\"'+IH+'\\"').replace("%a",this.highlight?"HIGHLIGHT":"ARCHIVE")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),p9(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):jq(this.screen):this.OpenVodStart())},SwitchesIcons:["movie-play"],addSwitches:function(){gU([f+f+Q],this.screen)},label_init:function(){AU(this.screen),WY(),r.Sidepannel_IsUser=!1,XY(this.screen),this.SetPeriod()},SetPeriod:function(){g("vod_periodPos",this.periodPos),SU(At,this.highlight?we:ye)}},zR),M[e]=d9(M[e],RR),M[e].Set_Scroll(),M[e].concatenate=function(e){e.data&&e.data.games&&(this.data=LU(e.data.games.edges,"videos"),this.loadDataSuccess()),this.loadingData=!1}}function KR(){var e=yx;M[e]=d9({HeadersArray:Xx,ids:l9("SearchVod",e),ScreenName:"SearchVod",table:"stream_table_search_vod",screen:e,object:"items",isQuery:!0,base_post:GR,set_url:function(){this.post=this.base_post.replace("%x",r.Search_data).replace("%y",this.cursor?'cursor: \\"'+this.cursor+'\\"':"")},label_init:function(){r.Search_isSearching=!0,T4(),this.lastData!==r.Search_data&&(this.status=!1),this.lastData=r.Search_data,XY(this.screen),SU(q+f+At,"'"+r.Search_data+"'")},label_exit:function(){r.Search_isSearching||O4()},key_play:function(){this.is_a_Banner()||this.OpenVodStart()},addCell:function(e){this.addCellTemp(e)}},zR),M[e]=d9(M[e],RR),M[e].Set_Scroll(),M[e].HasSwitches=!1,M[e].concatenate=function(e){if(e.data&&e.data.searchFor&&e.data.searchFor.videos&&e.data.searchFor.videos.items){this.dataEnded=!e.data.searchFor.videos.pageInfo.hasNextPage,this.cursor=e.data.searchFor.videos.cursor;for(var a=0,t=(e={items:e.data.searchFor.videos.items}).items.length;athis.periodMaxPos&&(this.periodPos=1),this.SetPeriod(),p9(this.screen)):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){gU([f+f+Q,f+f+Zt],this.screen)},lastselectedChannel:"",label_init:function(){AU(this.screen),!r.Search_isSearching&&r.Main_selectedChannel_id&&Hg(),r.Main_selectedChannel_id!==this.lastselectedChannel&&(this.OffSetPos=0,this.extraoffset=0,this.status=!1),this.lastselectedChannel=r.Main_selectedChannel_id,T4(),qA("label_thumb","icon-return",ue),this.SetPeriod()},SetPeriod:function(){g("UserVod_periodPos",this.periodPos),SU(r.Main_selectedChannelDisplayname,(this.highlight?we:ye)+(1===this.periodPos?Yt:Kt))},label_exit:function(){O4()}},zR),M[e]=d9(M[e],RR),M[e].Set_Scroll()}function ZR(){var e=px;M[e]=d9({useHelix:!0,periodMaxPos:4,HeadersArray:Xx,object:"data",key_pgDown:$2,key_pgUp:W2,ids:l9("AGameVod",e),ScreenName:"AGameVod",table:"stream_table_a_game_vod",screen:e,CheckContentLang:1,ContentLang:"",hasBackupData:!0,highlightSTR:"AGameVod_highlight",highlight:ik("AGameVod_highlight",!1),periodPos:ek("AGameVod_periodPos",2),base_url:eA+"videos?first="+$z+"&game_id=",set_url:function(){this.url=this.base_url+r.Main_gameSelected_id+"&type="+(this.highlight?"highlight":"archive")+"&sort=views&period="+this.period[this.periodPos-1]+(this.cursor?"&after="+this.cursor:"")+(""!==qx?"&language="+qx:"")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),this.isReloadScreen=!0,p9(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):jq(this.screen):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){gU([f+f+Q,f+f+Y],this.screen)},OldgameSelected:"",label_init:function(){AU(this.screen),yU(this.screen),this.SetPeriod()},label_exit:function(){wU(this.screen)},SetPeriod:function(){g("AGameVod_periodPos",this.periodPos),r.Main_gameSelected?SU(r.Main_gameSelected,(this.highlight?we:ye)+f+Gx[this.periodPos-1]):NU(2,this.screen)}},zR),M[e]=d9(M[e],RR),M[e].Set_Scroll()}function $R(){var e=ix;M[e]=d9({periodMaxPos:2,UseToken:!0,key_pgDown:ox,key_pgUp:tx,ids:l9("UserVod",e),ScreenName:"UserVod",table:"stream_table_user_vod",screen:e,IsUser:!0,time:["TIME","VIEWS"],highlightSTR:"UserVod_highlight",highlight:ik("UserVod_highlight",!1),periodPos:ek("UserVod_periodPos",1),object:"edges",isQuery:!0,useUserToken:!0,base_post:ER,set_url:function(){this.post=this.base_post.replace("%x",this.highlight?"HIGHLIGHT":"ARCHIVE").replace("%t",this.time[this.periodPos-1]).replace("%y",this.cursor?'after: \\"'+this.cursor+'\\",':"")},key_play:function(){this.is_a_Banner()||(-1===this.posY?0===this.posX?(this.highlight=!this.highlight,this.SetPeriod(),p9(this.screen),g(this.highlightSTR,this.highlight?"true":"false")):(this.periodPos++,this.periodPos>this.periodMaxPos&&(this.periodPos=1),this.SetPeriod(),p9(this.screen)):this.OpenVodStart())},SwitchesIcons:["movie-play","history"],addSwitches:function(){gU([f+f+Q,f+f+Zt],this.screen)},label_init:function(){AU(this.screen),this.SetPeriod(),xU(this.screen)},SetPeriod:function(){g("UserVod_periodPos",this.periodPos),SU(W,(this.highlight?we:ye)+(1===this.periodPos?Yt:Kt))}},zR),M[e]=d9(M[e],RR),M[e].Set_Scroll(),M[e].concatenate=function(e){if(e.data&&e.data.currentUser&&e.data.currentUser.followedVideos&&e.data.currentUser.followedVideos.edges){this.dataEnded=!e.data.currentUser.followedVideos.pageInfo.hasNextPage,e={edges:e.data.currentUser.followedVideos.edges},this.cursor=e&&e.edges&&e.edges.length?e.edges[e.edges.length-1].cursor:null;for(var a=0,t=e.edges.length;aa.node.login?1:0:0});for(var t=0,i=this.data.length;ta.data[t]?1:0}))},blocked_concatenate:function(){var e=this.isGame?"game":"channel";this.data=zm()&&p[v[0].id].blocked&&p[v[0].id].blocked[e]?Object.values(p[v[0].id].blocked[e]):[],this.blockedSort(),this.dataEnded=!0,this.loadDataSuccess(),this.loadingData=!1},emptyContent_STR:function(){return Ap}},zR),M[e].key_play_game=HR.key_play,M[e].key_play_channel=JR.base_key_play,M[e].key_play=function(){-1===this.posY?0===this.posX?(this.isGame=!this.isGame,this.isGame?(this.img_404=kh,this.screenType=3,this.ItemsReloadLimit=lR,this.ItemsLimit=nR,this.ColumnsCount=sR,this.addFocus=iq,this.rowClass="animate_height_transition_blocked_games",this.thumbclass="stream_thumbnail_blocked_game_holder",this.visiblerows=3):(this.img_404=jh,this.screenType=4,this.ItemsReloadLimit=cR,this.ItemsLimit=dR,this.ColumnsCount=rR,this.addFocus=tq,this.rowClass="animate_height_transition_blocked_channel",this.thumbclass="stream_thumbnail_blocked_channel_holder",this.visiblerows=5),this.label_init(),p9(this.screen)):1===this.posX&&(this.sortByDate=!this.sortByDate,this.label_init(),p9(this.screen),r.BlockSort=this.sortByDate,I4()):this.isGame?this.key_play_game():this.key_play_channel(e,!1)},M[e].addrowGame=W9,M[e].addrowChannel=Y9,M[e].addrow=function(e,a,t,i){this.isGame?M[t].addrowGame(e,a,t,i):M[t].addrowChannel(e,a,t,i)},M[e].Set_Scroll()}function gU(e,a,t){M[a].TopRowCreated=!0,M[a].row=document.createElement("div"),t&&(M[a].row.style.paddingBottom=t);for(var i,o,n=0,s=e.length;n'+e[n],(o=document.createElement("div")).setAttribute("id",M[a].ids[3]+"y_"+n),o.className="stream_cell_period",o.innerHTML='
'+i+"
",M[a].row.appendChild(o);M[a].tableDoc.appendChild(M[a].row)}function vU(e,a,t){M[a].BannerCreated=!0;var i=M[a].row_id+"_0",o=M[a].ids,n=(M[a].row=y9(a),M[a].Cells[M[a].row_id]=M[a].row,M[a].row_id++,M[a].DataObj[i]=e,document.createElement("div"));n.setAttribute("id",M[a].ids[3]+i),n.className="banner_holder",n.innerHTML='
",M[a].row.appendChild(n),CR&&!t||M[a].tableDoc.appendChild(M[a].row),this.itemsCount+=3,this.column_id+=3,M[a].BannerTime=(new Date).getTime()+IR,CR=!0,M[a].itemsCount+=M[a].ColumnsCount}function bU(e,a){M[fx].IsOpen===e?(M[fx].IsOpen=0,e=fx):M[px].IsOpen===e?(M[px].IsOpen=0,e=px):M[hx].IsOpen===e&&(M[hx].IsOpen=0,e=hx),c9(e,a)}function yU(e){null===r.Main_OldGameSelected&&(r.Main_OldGameSelected=r.Main_gameSelected_id),qA("label_thumb","icon-return",ue),qA("label_refresh","icon-refresh",L+":"+vt),Rk(r.Main_OldGameSelected,r.Main_gameSelected_id)&&Rk(M[e].gameSelected_Id,r.Main_gameSelected_id)||(M[e].status=!1,M[e].Cells&&M[e].Cells.length&&M[e].gameSelected_Id&&M[e].BackupScreen(M[e].gameSelected_Id)),M[e].gameSelected_Id=r.Main_gameSelected_id,r.Main_OldGameSelected=r.Main_gameSelected_id,(r.Sidepannel_IsUser||r.Main_BeforeAgame===tx?KY:WY)(),XQ=r.Main_BeforeAgame===bx?9:r.Main_BeforeAgame===tx?4:5,XY(r.Main_Go),x3(r.Main_gameSelected)}function wU(e){M[e].gameSelected_Id=r.Main_gameSelected_id,qA("label_thumb","icon-options",ms)}function xU(e){AU(e),KY(),XY(M[e].screen)}function AU(e){zm()&&(M[e].OldUserName!==v[0].name&&(M[e].status=!1),M[e].OldUserName=v[0].name)}function SU(e,a){d("top_lable",e+f+(a?'
'+a+"
":""))}function kU(e){var a=e.stream.game,t=e.stream.broadcaster;return[e.stream.previewImageURL,t?t.displayName:"",e.stream.title,a?a.displayName:"",b4(e.stream.viewersCount),t&&t.language?"["+t.language.toUpperCase()+"]":"",t?t.login:"",e.stream.id.toString(),x4(e.stream.type),t?t.profileImageURL:"",t?t.roles.isPartner:"",WT(e.stream.createdAt),e.stream.createdAt,e.stream.viewersCount,t?t.id:null,t?t.language:"",null,null,a?a.id:null]}function jU(e,a,t){return[e.thumbnail_url,e.user_name,e.title,e.game_name,b4(e.viewer_count),e.language?"["+e.language.toUpperCase()+"]":"",e.user_login,e.id.toString(),x4(e.type),a||null,t||null,WT(e.started_at),e.started_at,e.viewer_count,e.user_id,e.language,null,null,e.game_id]}function CU(e,a){return a?[VU(e.thumbnailURLs[0],e.animatedPreviewURL),e.creator?e.creator.displayName:"",D4(e.createdAt),e.game_name,b4(e.viewCount),e.language?"["+e.language.toUpperCase()+"]":"",e.creator?e.creator.login:"",e.id,e.animatedPreviewURL,e.language,Hee.parse(e.title),ZP(e.duration),e.createdAt,e.viewCount,e.creator?e.creator.id:"",e.duration,e.game_id]:[VU(e.thumbnail_url,null),e.user_name,D4(e.created_at),null,b4(e.view_count),e.language?"["+e.language.toUpperCase()+"]":"",e.user_login,e.id,null,e.language,Hee.parse(e.title),ZP(e.duration),e.created_at,e.view_count,e.user_id,e.duration]}function IU(e,a){return a?[e.slug,e.durationSeconds,e.broadcaster?e.broadcaster.id:"",e.game_name,e.broadcaster?e.broadcaster.displayName:"",null,e.broadcaster?e.broadcaster.login:"",e.id,e.video?e.video.id:null,e.videoOffsetSeconds,Hee.parse(e.title),"["+e.language.toUpperCase()+"]",e.created_at,e.viewCount,b4(e.viewCount),e.thumbnailURL,D4(e.createdAt),e.language,e.game_id]:[e.id,e.duration,e.broadcaster_id,null,e.broadcaster_name,null,e.broadcaster_name&&e.broadcaster_name.toLowerCase(),e.id,e.video_id||null,null!==e.vod?-1:null,Hee.parse(e.title),e.language?"["+e.language.toUpperCase()+"]":"",e.created_at,e.view_count,b4(e.view_count),e.thumbnail_url,D4(e.created_at),e.language,e.game_id]}function PU(e,a){return a?[e.login,e.id,e.profileImageURL,e.displayName,e.roles.isPartner,e.stream]:[e.broadcaster_login,e.id,e.thumbnail_url,e.display_name,null]}function MU(e){var a,t,i,o;return 4===e?"":(t=(a=o=new Date).getDate(),i=o.getMonth()+1,o="&ended_at="+o.getFullYear()+"-"+(i<10?"0"+i:i)+"-"+(t<10?"0"+t:t)+"T23:59:59Z",a.setDate(a.getDate()-lA[e]),t=a.getDate(),i=a.getMonth()+1,"&started_at="+a.getFullYear()+"-"+(i<10?"0"+i:i)+"-"+(t<10?"0"+t:t)+"T00:00:00Z"+o)}function VU(e,a){return e?y(e+"","404_processing")?OU(a):e.replace("%{width}x%{height}",Ix):null}function OU(e){return e?"https://static-cdn.jtvnw.net/cf_vods/"+(e=e.split("/"))[2].split(".")[0]+"/"+e[3]+"/thumb/thumb0-"+Ix+".jpg":null}function TU(a){var t;h3(a.AnimateThumbId),!T("videos_animation")||z8||a.posY<0||(t=m(a.ids[5]+a.posY+"_"+a.posX),a.DataObj[a.posY+"_"+a.posX][8]?(a.Vod_newImg.onload=function(){this.onload=null,h(a.ids[1]+a.posY+"_"+a.posX,"opacity_zero"),t.style.backgroundSize=t.offsetWidth+"px";var e=0;a.AnimateThumbId=p3(function(){t.style.backgroundPosition="0px "+ ++e%10*-t.offsetHeight+"px"},650,a.AnimateThumbId)},a.Vod_newImg.src=t.style.backgroundImage.replace(/url\(['"]?(.*?)['"]?\)/i,"$1")):EU(a))}var DU='{"query":"{video(id:\\"%x\\"){animatedPreviewURL}}"}';function EU(e){_k(jC,g8,BU,V,e.screen,e.screen,"POST",DU.replace("%x",e.DataObj[e.posY+"_"+e.posX][7]))}function BU(e,a){200===e.status&&(e=JSON.parse(e.responseText),G9(a))&&e.data&&e.data.video&&e.data.video.animatedPreviewURL&&(M[a].DataObj[M[a].posY+"_"+M[a].posX][8]=e.data.video.animatedPreviewURL,m(M[a].ids[5]+M[a].posY+"_"+M[a].posX).style.cssText="width: 100%; padding-bottom: 56.25%; background-size: 0 0; background-image: url("+e.data.video.animatedPreviewURL+");",TU(M[a]))}function NU(e,a){sk(eA+"games?id="+r.Main_gameSelected_id,qU,V,e,a,!0)}function LU(e,a){for(var t,i,o,n,s,l,d=0,r=e.length,c=[];d
'+a+'
'+t+'
'}function HF(e,a){d(e,''+f+''+f+''+f+''+f+a)}function JF(e){for(var a=[],t=[],i=0,o=e.length;ixF?rF[AF]=0:rF[AF]<0&&(rF[AF]=xF),(AF?LF:NF)(),aH(),tH()}function eH(e,a,t){e.pos[OF[IF].pos]+=a,e.pos[OF[IF].pos]>t?e.pos[OF[IF].pos]=t:e.pos[OF[IF].pos]<0&&(e.pos[OF[IF].pos]=0),e.focus(),aH(),iH(),tH()}function aH(){OF[jF].pos=1,c("color_options"+OF[jF].property,OF[jF].values[1])}function tH(){if(1===OF[jF].pos){for(var e=[],a=[],t=PF,i=VF+1;t'+a+""}function NH(e,a){return'
'+a+'
'+eJ(e)+'
'}function LH(e,a,t,i){return'
'+a+'
'+t+'
'+eJ(e)+'
'}function qH(){for(var e in yV(),O)O[e].defaultValue=ek(e,O[e].defaultValue),--O[e].defaultValue,O[e].defaultValue>aJ(e)&&(O[e].defaultValue=0);eX(0),$J(!1),aX(),tX(),iX(),oX(),qJ(),nX(),bk(),T("app_animations")||QJ(),PJ(),MJ(),VJ(),OJ(),r8=T("end_dialog_counter"),sX(),lX(),AX=tk("Settings_DisableCodecsNames",[]),LX(),SX=tk("Settings_DisableQualities",[]),UX(),e9=eJ("key_up_timeout"),u7(T("preview_others_volume_new")),UI(0,!0),c7(T("preview_volume_new")),r7(T("preview_sizes")),P7(1===T("check_source")),TJ(),XF(),bJ(),kJ(),GH(),ZJ(),YJ(0),H2||A($H,2500),YH(),XL()}function GH(){""===(qx=O.content_lang.apply_values[T("content_lang")])?(IH=xi,D7(null)):(IH=qx.toUpperCase(),D7(qx))}function zH(){for(var e=ak("app_lang_string",O.app_lang.apply_values[T("app_lang")]),a=0,t=O.app_lang.apply_values,i=t.length;a=O.vod_seek_max.defaultValue&&(O.vod_seek_min.defaultValue=O.vod_seek_max.defaultValue,g(e="vod_seek_min",T(e)+1),c(e,eJ(e)),m(e+"_arrow_right").style.opacity="0.2")}function AJ(){var e;O.vod_seek_max.defaultValue<=O.vod_seek_min.defaultValue&&(O.vod_seek_max.defaultValue=O.vod_seek_min.defaultValue,g(e="vod_seek_max",T(e)+1),c(e,eJ(e)),m(e+"_arrow_left").style.opacity="0.2")}function SJ(){return!!(T("live_notification")||T("title_notification")||T("game_notification"))||(L3(),!1)}function kJ(){F3(1===T("live_notification")),H3(1===T("title_notification")),H3(1===T("title_notification")),J3(1===T("game_notification"))}function jJ(){F3(1===T("live_notification")),PJ()}function CJ(){H3(1===T("title_notification")),PJ()}function IJ(){J3(1===T("game_notification")),PJ()}function PJ(){U3(1===T("live_notification_background")&&SJ())}function MJ(){q3(T("live_notification_position"))}function VJ(){G3(eJ("repeat_notification"))}function OJ(){z3(SH[T("since_notification")])}function TJ(){X3(1===O.ping_warn.defaultValue)}function DJ(){nj(!T("PP_workaround"),P)}function EJ(){C7(T("dpad_opacity"))}function BJ(){I7(T("dpad_position"))}function NJ(){return SH[T("auto_refresh_screen")]}function LJ(){return SH[T("auto_minimize_inactive")]}function qJ(){LJ()?(UJ(),w("keyup",UJ)):XJ()}var GJ,zJ,RJ=15;function UJ(){GJ=A(FJ,LJ(),GJ)}function FJ(){XJ(),x("keyup",UJ),window.addEventListener("keydown",JJ,!0),window.addEventListener("keyup",JJ,!0),window.addEventListener("keypress",JJ,!0),RJ=15,HJ(),l("minimize_warning")}function HJ(){0"+u+Vn+u+u+On+u+u+Tn+u+u,0),o=xX.length;for(t+='
';i
")+Zp+(e?Cf:ca)+"
"),jX=!0}xX.length&&(h(xX[wX=0].name,"settings_value_focus"),h(xX[wX].name+"_div","settings_div_focus"),lJ(xX[wX].name)),l("dialog_codecs"),w("keydown",OX)}function IX(e){return y(e,"avc")?" - AVC H.264":y(e,"hevc")?" - HEVC H.265":y(e,"av01")?" - AV1":""}function PX(){oJ(xX[wX].name),t("dialog_codecs"),x("keydown",OX),w("keydown",bX),m("settings_codec_container_scroll").style.transform=""}function MX(){0"+u+Ep+u+u+Bp+u+u+Lp+u+u+Np+u+u+'
HEVC -'+f+(wH?zp:Rp)+u+u+' AV1 -'+f+(yH?zp:Rp)+"
",e)}function QX(e){O.res_max.values[0]=yo,O.res_min.values[0]=yo,O.bitrate_main.values[0]=yo,O.bitrate_min.values[0]=yo,rQ({res_max:{defaultValue:O.res_max.defaultValue,values:O.res_max.values,title:bu,summary:null},res_min:{defaultValue:O.res_min.defaultValue,values:O.res_min.values,title:yu,summary:null},bitrate_main:{defaultValue:O.bitrate_main.defaultValue,values:O.bitrate_main.values,title:go,summary:null},bitrate_min:{defaultValue:O.bitrate_min.defaultValue,values:O.bitrate_min.values,title:vo,summary:null}},ho+u+u+mo+u+u+bo,e)}function YX(e){rQ({vod_seek_min:{defaultValue:O.vod_seek_min.defaultValue,values:O.vod_seek_min.values,title:uc,summary:null},vod_seek_max:{defaultValue:O.vod_seek_max.defaultValue,values:O.vod_seek_max.values,title:fc,summary:null},vod_seek_time:{defaultValue:O.vod_seek_time.defaultValue,values:O.vod_seek_time.values,title:pc,summary:null}},rc+u+u+cc,e)}function KX(e){var a=[ge,pt];O.show_feed_player.values=a,O.disable_feed_player_multi.values=a,O.show_side_player.values=a,O.show_live_player.values=a,O.show_vod_player.values=a,O.show_clip_player.values=a,O.auto_clip_preview.values=a,O.preview_screen_sizes.values=Br,O.preview_sizes.values=cr,rQ({show_feed_player:{defaultValue:O.show_feed_player.defaultValue,values:O.show_feed_player.values,title:qs,summary:Pd},show_side_player:{defaultValue:O.show_side_player.defaultValue,values:O.show_side_player.values,title:nr,summary:null},show_live_player:{defaultValue:O.show_live_player.defaultValue,values:O.show_live_player.values,title:pr,summary:null},show_vod_player:{defaultValue:O.show_vod_player.defaultValue,values:O.show_vod_player.values,title:hr,summary:null},show_clip_player:{defaultValue:O.show_clip_player.defaultValue,values:O.show_clip_player.values,title:gr,summary:null},preview_screen_sizes:{defaultValue:O.preview_screen_sizes.defaultValue,values:O.preview_screen_sizes.values,title:Nr,summary:Lr},preview_sizes:{defaultValue:O.preview_sizes.defaultValue,values:O.preview_sizes.values,title:dr,summary:rr},screen_preview_volume:{defaultValue:O.screen_preview_volume.defaultValue,values:O.screen_preview_volume.values,title:Kf,summary:Wf},preview_volume_new:{defaultValue:O.preview_volume_new.defaultValue,values:O.preview_volume_new.values,title:ur,summary:fr},preview_others_volume_new:{defaultValue:O.preview_others_volume_new.defaultValue,values:O.preview_others_volume_new.values,title:sr,summary:lr},show_feed_player_delay:{defaultValue:O.show_feed_player_delay.defaultValue,values:O.show_feed_player_delay.values,title:zs,summary:Rs},disable_feed_player_multi:{defaultValue:O.disable_feed_player_multi.defaultValue,values:O.disable_feed_player_multi.values,title:Gs,summary:Md},auto_clip_preview:{defaultValue:O.auto_clip_preview.defaultValue,values:O.auto_clip_preview.values,title:Di,summary:Ar}},Wl,e)}function WX(e){O.live_notification.values=[ge,pt],O.live_notification_background.values=[ge,pt],O.title_notification.values=[ge,pt],O.game_notification.values=[ge,pt],O.live_notification_position.values=Gr,O.since_notification.values[0]=ei;var a={live_notification:{defaultValue:O.live_notification.defaultValue,values:O.live_notification.values,title:zo,summary:null},title_notification:{defaultValue:O.title_notification.defaultValue,values:O.title_notification.values,title:Vc,summary:null},game_notification:{defaultValue:O.game_notification.defaultValue,values:O.game_notification.values,title:Oc,summary:null},live_notification_position:{defaultValue:O.live_notification_position.defaultValue,values:O.live_notification_position.values,title:zr,summary:null},repeat_notification:{defaultValue:O.repeat_notification.defaultValue,values:O.repeat_notification.values,title:Yr,summary:Kr},since_notification:{defaultValue:O.since_notification.defaultValue,values:O.since_notification.values,title:sc,summary:lc}};(!_||Rj()<30)&&(a.live_notification_background={defaultValue:O.live_notification_background.defaultValue,values:O.live_notification_background.values,title:fl,summary:qr}),rQ(a,Zl,e)}function ZX(e){rQ({dpad_position:{defaultValue:O.dpad_position.defaultValue,values:O.dpad_position.values,title:Cn,summary:null},dpad_opacity:{defaultValue:O.dpad_opacity.defaultValue,values:O.dpad_opacity.values,title:In,summary:null}},$l,e)}function $X(e){O.app_animations.values=[ge,pt],O.videos_animation.values=[ge,pt],O.hide_screen_counter.values=[ge,pt],O.burn_in_protection.values=[ge,pt],O.hide_main_clock.values=[ge,pt],O.hide_player_clock.values=[ge,pt],O.hide_main_screen_title.values=[ge,pt],O.hide_etc_help_text.values=[ge,pt],O.round_images.values=[ge,pt],O.fade_sidepannel.values=[ge,pt],O.thumb_quality.values=[eo,ao,Ki,to,io],rQ({thumb_background:{defaultValue:O.thumb_background.defaultValue,values:O.thumb_background.values,title:er,summary:null,keyenter:!0},thumb_quality:{defaultValue:O.thumb_quality.defaultValue,values:O.thumb_quality.values,title:oo,summary:no},app_animations:{defaultValue:O.app_animations.defaultValue,values:O.app_animations.values,title:dn,summary:ad},videos_animation:{defaultValue:O.videos_animation.defaultValue,values:O.videos_animation.values,title:si,summary:td},global_font_offset:{defaultValue:O.global_font_offset.defaultValue,values:O.global_font_offset.values,title:Ro,summary:Uo},round_images:{defaultValue:O.round_images.defaultValue,values:O.round_images.values,title:Qo,summary:Yo},fade_sidepannel:{defaultValue:O.fade_sidepannel.defaultValue,values:O.fade_sidepannel.values,title:me,summary:null},clock_offset:{defaultValue:O.clock_offset.defaultValue,values:O.clock_offset.values,title:mi,summary:Ic},hide_main_clock:{defaultValue:O.hide_main_clock.defaultValue,values:O.hide_main_clock.values,title:xu,summary:null},hide_screen_counter:{defaultValue:O.hide_screen_counter.defaultValue,values:O.hide_screen_counter.values,title:Xo,summary:Td},hide_player_clock:{defaultValue:O.hide_player_clock.defaultValue,values:O.hide_player_clock.values,title:wu,summary:null},hide_main_screen_title:{defaultValue:O.hide_main_screen_title.defaultValue,values:O.hide_main_screen_title.values,title:Au,summary:ku},hide_etc_help_text:{defaultValue:O.hide_etc_help_text.defaultValue,values:O.hide_etc_help_text.values,title:Su,summary:ju},burn_in_protection:{defaultValue:O.burn_in_protection.defaultValue,values:O.burn_in_protection.values,title:Qu,summary:Yu}},ed,e)}function eQ(e){O.auto_refresh_background.values=[ge,pt],O.auto_refresh_screen.values[0]=ei,O.auto_minimize_inactive.values[0]=ei,O.live_feed_sort.values=[Kn,Wn,Jn,Xn,Qn,Yn,os,ns],rQ({live_feed_sort:{defaultValue:O.live_feed_sort.defaultValue,values:O.live_feed_sort.values,title:on,summary:nn},auto_minimize_inactive:{defaultValue:O.auto_minimize_inactive.defaultValue,values:O.auto_minimize_inactive.values,title:Cu,summary:Iu},auto_refresh_screen:{defaultValue:O.auto_refresh_screen.defaultValue,values:O.auto_refresh_screen.values,title:Ks,summary:nd},auto_refresh_background:{defaultValue:O.auto_refresh_background.defaultValue,values:O.auto_refresh_background.values,title:ic,summary:oc},key_up_timeout:{defaultValue:O.key_up_timeout.defaultValue,values:O.key_up_timeout.values,title:Ed,summary:Bd}},Sc,e)}function aQ(e){O.accessibility_warn.values=[ge,pt],O.ping_warn.values=[ge,pt],O.live_warn.values=[ge,pt],rQ({accessibility_warn:{defaultValue:O.accessibility_warn.defaultValue,values:O.accessibility_warn.values,title:Js,summary:id+f+Qs+f+hh},ping_warn:{defaultValue:O.ping_warn.defaultValue,values:O.ping_warn.values,title:Cd,summary:Id},live_warn:{defaultValue:O.live_warn.defaultValue,values:O.live_warn.values,title:Mu,summary:Vu}},Dd,e)}function tQ(e){O.update_background.values=[pt,ge],O.update_show.values=Zc,rQ({update_background:{defaultValue:O.update_background.defaultValue,values:O.update_background.values,title:Kc,summary:null},update_show:{defaultValue:O.update_show.defaultValue,values:O.update_show.values,title:Wc,summary:null}},Yc,e)}function iQ(e){var a=[ge,pt];O.open_host.values=a,O.play_stay.values=a,O.clip_autoPlayNext.values=a,O.end_dialog_counter.values[0]=Ri,rQ({open_host:{defaultValue:O.open_host.defaultValue,values:O.open_host.values,title:jd,summary:null},play_stay:{defaultValue:O.play_stay.defaultValue,values:O.play_stay.values,title:Qr,summary:null},clip_autoPlayNext:{defaultValue:O.clip_autoPlayNext.defaultValue,values:O.clip_autoPlayNext.values,title:Di,summary:null},end_dialog_counter:{defaultValue:O.end_dialog_counter.defaultValue,values:O.end_dialog_counter.values,title:Gi,summary:zi}},ar,e)}function oQ(e){var a=[ge,pt];O.highlight_rewards.values=a,O.highlight_atstreamer.values=a,O.highlight_streamer.values=a,O.highlight_mod.values=a,O.highlight_atuser.values=a,O.highlight_user_send.values=a,O.show_sub.values=a,O.highlight_bits.values=a,O.show_actions.values=a,O.chat_bot.values=a,O.chat_individual_background.values=[ei,$t,xd,Ad],O.chat_logging.values=a,O.individual_lines.values=a,O.chat_nickcolor.values=a,O.chat_line_animation.values=a,O.chat_timestamp.values=a,O.clear_chat.values=a,O.show_chatters.values=[ei,Xu,Ju],rQ({chat_logging:{defaultValue:O.chat_logging.defaultValue,values:O.chat_logging.values,title:md,summary:gd},chat_line_animation:{defaultValue:O.chat_line_animation.defaultValue,values:O.chat_line_animation.values,title:oi,summary:null},individual_lines:{defaultValue:O.individual_lines.defaultValue,values:O.individual_lines.values,title:wd,summary:null},chat_individual_background:{defaultValue:O.chat_individual_background.defaultValue,values:O.chat_individual_background.values,title:hd,summary:_d},chat_timestamp:{defaultValue:O.chat_timestamp.defaultValue,values:O.chat_timestamp.values,title:Wr,summary:null},show_chatters:{defaultValue:O.chat_timestamp.defaultValue,values:O.chat_timestamp.values,title:yc,summary:Pc},chat_nickcolor:{defaultValue:O.chat_nickcolor.defaultValue,values:O.chat_nickcolor.values,title:Sd,summary:kd},highlight_rewards:{defaultValue:O.highlight_rewards.defaultValue,values:O.highlight_rewards.values,title:yd,summary:null},highlight_mod:{defaultValue:O.highlight_mod.defaultValue,values:O.highlight_mod.values,title:bd,summary:null},highlight_streamer:{defaultValue:O.highlight_streamer.defaultValue,values:O.highlight_streamer.values,title:vd,summary:null},highlight_atstreamer:{defaultValue:O.highlight_atstreamer.defaultValue,values:O.highlight_atstreamer.values,title:ld,summary:null},highlight_atuser:{defaultValue:O.highlight_atuser.defaultValue,values:O.highlight_atuser.values,title:dd,summary:null},highlight_user_send:{defaultValue:O.highlight_user_send.defaultValue,values:O.highlight_user_send.values,title:rd,summary:null},show_sub:{defaultValue:O.show_sub.defaultValue,values:O.show_sub.values,title:cd,summary:null},highlight_bits:{defaultValue:O.highlight_bits.defaultValue,values:O.highlight_bits.values,title:ud,summary:null},clear_chat:{defaultValue:O.clear_chat.defaultValue,values:O.clear_chat.values,title:ir,summary:or},show_actions:{defaultValue:O.show_actions.defaultValue,values:O.show_actions.values,title:fd,summary:pd},chat_bot:{defaultValue:O.chat_bot.defaultValue,values:O.chat_bot.values,title:_f,summary:null}},bl,e)}function nQ(e){var a=[gu,mu];O.block_qualities_43.values=a,O.block_qualities_21.values=a,O.block_qualities_16.values=a,O.block_qualities_14.values=a,O.block_qualities_10.values=a,O.block_qualities_9.values=a,O.block_qualities_7.values=a,O.block_qualities_4.values=a,O.block_qualities_3.values=a,rQ({block_qualities_43:{defaultValue:O.block_qualities_43.defaultValue,values:O.block_qualities_43.values,title:"42XXp to 46XXp 8k",summary:null},block_qualities_21:{defaultValue:O.block_qualities_21.defaultValue,values:O.block_qualities_21.values,title:"17XXp to 22XXp 4k",summary:null},block_qualities_16:{defaultValue:O.block_qualities_16.defaultValue,values:O.block_qualities_16.values,title:"15XXp to 17XXp 2.5k",summary:null},block_qualities_14:{defaultValue:O.block_qualities_14.defaultValue,values:O.block_qualities_14.values,title:"14XXp 2k",summary:null},block_qualities_10:{defaultValue:O.block_qualities_10.defaultValue,values:O.block_qualities_10.values,title:"10XXp",summary:null},block_qualities_9:{defaultValue:O.block_qualities_9.defaultValue,values:O.block_qualities_9.values,title:"9XXp",summary:null},block_qualities_7:{defaultValue:O.block_qualities_7.defaultValue,values:O.block_qualities_7.values,title:"7XXp",summary:null},block_qualities_4:{defaultValue:O.block_qualities_4.defaultValue,values:O.block_qualities_4.values,title:"4XXp",summary:null},block_qualities_3:{defaultValue:O.block_qualities_3.defaultValue,values:O.block_qualities_3.values,title:"3XXp",summary:null}},fu+u+u+hu+u+u+_u,e)}function sQ(){return RA("dialog_settings")}var lQ=[],dQ=0;function rQ(e,a,t){x("keydown",bX);var i,o=a+u;for(i in lQ=[],e)lQ.push(i),e[i].keyenter?o+=EH(i,[wi],e[i].title,null):o+=e[i].summary?LH(i,e[i].title,e[i].summary,73):NH(i,e[i].title);d("dialog_settings_text",o+Zp+(t?Cf:ca)+""),h(lQ[dQ=0],"settings_value_focus"),h(lQ[0]+"_div","settings_div_focus"),lJ(lQ[0]),l("dialog_settings"),w("keydown",pQ)}function cQ(){oJ(lQ[dQ]),t("dialog_settings"),x("keydown",pQ),w("keydown",bX)}function uQ(){0 '+e+f+f+""+(a?''+f+f:"")+'
'+f+f+(t?Be:Z)+f+f+"
"}function jY(){if(sY()){xK[JQ]&&Sk.postMessage(xK[JQ].replace("{width}x{height}",Cx)+uA),xK.splice(JQ,1);for(var e=0,a=xK.length;eIK[B]+NJ())&&zk(E[B].sorting,O.live_feed_sort.defaultValue)&&E[B].enable_mature===O.enable_mature.defaultValue&&zk(E[B].Lang,HH)||(e=!0),oZ=v[0].name,!e&&vK[B]||hK[B]?cY()&&(jY(),iY(!0),NY()):qK(),w3("Side_panel_user_live")}function EY(){FA(kQ,o9?"scenefeed_background":"scenefeed_background_no_ani"),HA(kQ,"feed_screen_input")}function BY(){HA(kQ,o9?"scenefeed_background":"scenefeed_background_no_ani"),FA(kQ,"feed_screen_input")}function NY(){IK[B]&&LY((new Date).getTime()-IK[B])}function LY(e){JA(OQ,L+f+"("+Fs+$T(e)+")")}function qY(){BY(),QQ=!0,wQ.style.transform="translateX("+KQ+"%)",yQ.style.marginLeft="",w("keydown",dK),aY(),w3("Side_panel_main")}function GY(){return zk(wQ.style.transform,"translateX("+KQ+"%)")}function zY(e){v[0]&&v[0].display_name.length,e&&(yQ.style.marginLeft="-"+KQ+"%"),e=e?wQ.offsetWidth:wQ.offsetWidth-yQ.offsetWidth,wQ.style.transform="translateX(-"+(e/Vh+YQ)+"em)"}function RY(e){e||(zY(),tY(),yQ.style.marginLeft="",FA(VQ,"opacity_zero"),BY()),JY(e),x("keydown",oK),x("keydown",dK),T("fade_sidepannel")&&UY()}function UY(){A(FY,5e3)}function FY(){SQ.style.transition=QQ?"":"none",kQ.style.transition="",SQ.style.opacity=0,kQ.style.opacity=0}function HY(){o(HQ),SQ.style.transition="none",kQ.style.transition="none",SQ.style.opacity="",kQ.style.opacity=""}function JY(e,a){oY(e),e||(FA(jQ,a?"side_panel_hide_full":"side_panel_hide"),FA(CQ,"side_panel_inner_hide"),FA(IQ,"opacity_zero"),FA(PQ,"side_panel_dialog_hide"))}function XY(e){QY[e]&&(XQ=QY[e]),YY(),XQ&&XQ<10&&h("side_panel_new_"+XQ,"side_panel_new_icons_start")}var QY=[1,3,0,4,5,6,7,3,4,5,6,1,1,1,0,0,0,0,0,0,0,8,8,8,3,9,1];function YY(){for(var e=1;e<10;e++)n("side_panel_new_"+e,"side_panel_new_icons_start")}function KY(){r.Sidepannel_IsUser=!0,d("side_panel_movel_user_text",f+Ho+f),l("side_panel_movel_user_text_holder"),l("side_panel_movel_new_8"),l("side_panel_new_8"),l("side_panel_movel_new_9"),l("side_panel_new_9"),l("side_panel_movel_new_6"),l("side_panel_new_6"),l("side_panel_movel_new_7"),l("side_panel_new_7"),d("side_panel_movel_new_2",Fo),d("side_panel_movel_new_4",$),d("side_panel_movel_new_5",At),d("side_panel_movel_new_6",re),d("side_panel_movel_new_7",Go),d("side_panel_movel_new_8",zn),d("side_panel_movel_new_9",mu),$Y("side_panel_new_2","arrow-left","font-size: 115%; position: relative; top: 2%;"),$Y("side_panel_new_4","gamepad","font-size: 115%;"),$Y("side_panel_new_5","movie-play"),$Y("side_panel_new_6","filmstrip"),$Y("side_panel_new_7","user","font-size: 115%; position: relative; top: 2%;")}function WY(){v[0]?ZY(v[0].display_name):ZY(ze),t("side_panel_movel_new_8"),t("side_panel_new_8"),t("side_panel_movel_new_9"),t("side_panel_new_9"),l("side_panel_movel_new_5"),l("side_panel_new_5"),t("side_panel_movel_user_text_holder"),d("side_panel_movel_new_1",q),d("side_panel_movel_new_2",Ho),d("side_panel_movel_new_3",Z),d("side_panel_movel_new_4",Ct),d("side_panel_movel_new_5",$),d("side_panel_movel_new_6",At),d("side_panel_movel_new_7",xe),d("side_panel_movel_new_10",f+G),d("side_panel_movel_new_11",f+R),d("side_panel_movel_new_12",f+z),d("side_panel_movel_new_13",f+Oe),d("side_panel_movel_new_14",f+Lc),$Y("side_panel_new_1","search"),$Y("side_panel_new_2","user","font-size: 115%; position: relative; top: 2%;"),$Y("side_panel_new_4","star","font-size: 115%; position: relative; top: 2%;"),$Y("side_panel_new_5","gamepad","font-size: 115%;"),$Y("side_panel_new_6","movie-play"),$Y("side_panel_new_7","movie")}function ZY(e){d("side_panel_movel_new_0",e+u+'
'+an+"
")}function $Y(e,a,t){a?d(e,'"):c(e,"")}var eK=0;function aK(e){var a="0";6IK[e]+NJ()&&(FK(e,5e3*a),a++)}function JK(e){return SK[e]}function XK(){return uK}function QK(){uK=!0,HA(cK,"user_feed_hide")}function YK(e){fW(e),KK(),E[N].LastPositionGame&&E[N].UpdateLastPositionGame()}function KK(){VW(!1),FA(cK,"user_feed_hide"),uK=!1}function WK(){E[N].show()}function ZK(){$K(),wK||T("show_feed_player")||eW()}function $K(){o(rK)}function eW(){XK()&&(rK=A(YK,1e4,rK))}function aW(){hK[N]||E[N].loadingMore||(E[N].isReloadScreen=!0,uD(),$K(),BK())}function tW(e,a,t){CK[a]!==t&&(!e&&TK[a]&&o9&&!OK?(TK[a]=!1,OK=a===N,E[a].div.style.transition="",A(function(){TK[a]=!0},AK)):E[a].div.style.transition="none",E[a].div.style.transform="translateX("+t+"em)",CK[a]=t)}function iW(){for(var e=0,a=YW+1;et+3&&(TK[a]&&a===N&&o9&&!OK?bW(a,t,-3,0,-3,4,3,4,0):yW(a,t,-3,-3,5,3,4,0))}function xW(e,a,t){0t+4&&(TK[a]&&a===N&&o9&&!OK?bW(a,t,-5,0,-5,5,5,5,0):yW(a,t,-5,-5,6,5,5,0))}function AW(e){fW(),nW(e)&&n(DK[0]+e+"_"+D[e],yK)}function SW(){d("icon_feed_refresh",'
'+f+L+":"+_n+f+f+'
'+f+wo+"
")}function kW(){qA("icon_feed_refresh","icon-refresh",L+":"+_n)}function jW(){qA("icon_feed_refresh","icon-refresh",L+":"+_n+Bs)}function CW(){qA("icon_feed_refresh","icon-refresh",L+":"+_n+Es)}function IW(e){var a;ZK(),!TK[N]||hK[N]||(a=D[N]+e)>JK(N)-1||a<0||(AW(N),D[N]=a,rW(!1,N,e),E[N].AddCell(e,N,a),r.UserLiveFeed_LastPositionId[N]=MK[N][D[N]][14])}function PW(e){var a,t;ZK(),TK[N]&&(a=N+e,t=zm(),a===HW||((t?YW:KW) '+a+"")}var oZ="";function nZ(){b$(B-1),zm()&&(sZ(B,oZ!==v[0].name),oZ=v[0].name)}function sZ(e,a){DS()&&!XK()&&QK(),a||!nW(e)||(new Date).getTime()>IK[e]+NJ()||E[e].offsettopFontsize!==T("global_font_offset")||!E[e].AddCellsize||E[e].CheckContentLang&&!zk(E[e].ContentLang,qx)||E[e].CheckSort&&!zk(E[e].sorting,O.live_feed_sort.defaultValue)||E[e].enable_mature!==O.enable_mature.defaultValue||!zk(E[e].Lang,HH)?hK[e]?XK()&&(VW(!0),E[e].div.classList.remove("hide")):BK():(E[e].div.classList.remove("hide"),rW(!0,e)),lZ(e),E[e].Screen&&w3(E[e].Screen)}function lZ(e){IK[e]&&d("feed_last_refresh",Fs+$T((new Date).getTime()-IK[e]))}function dZ(){fW(),E[B].div.classList.add("hide")}function rZ(){fW(),E[RW].div.classList.add("hide")}function cZ(){b$(RW-1),zm()&&(WW(RW),sZ(RW,!0))}function uZ(){var e,a,t=p[v[0].id].live,i=(t.sort(function(e,a){return e.date>a.date?-1:e.date
'+yk(a[1])+'
'+a[3]+'
'+a[4]+"
"}function w$(e,a,t,i,o,n,s){i[1]||(i[1]=i[6]);var l=document.createElement("div"),e=(l.setAttribute("id",DK[3]+t),MK[e][a]=i,l.className="user_feed_thumb",""),e=s?n+uA:i[0]?i[0].replace("{width}x{height}",Ix)+uA:"";return l.innerHTML='
'+(n||s?'
  VOD  
 ':'
')+i[1]+'
'+i[5]+'
'+yk(Hee.parse(i[2]))+'
'+(""!==i[3]?ee+i[3]:"")+'
'+ie+i[11]+''+f+ae+i[4]+f+y4(i[13])+"
"+(o?'
'+Rn+E4(o)+u+Un+KT(o-(i[12]?new Date(i[12]).getTime():0))+"
":"")+"
",l}function x$(e,a,t,i,o,n){var s=document.createElement("div");return s.setAttribute("id",DK[3]+t),MK[e][a]=i,s.className="user_feed_thumb",s.innerHTML='
'+i[1]+'
'+i[5]+'
'+i[10]+'
'+(""!==i[3]&&null!==i[3]?wt+ee+i[3]:"")+'
'+Se+i[2]+'
'+YT(i[11])+'
'+i[4]+w4(i[13])+(o?", "+Rn+E4(o)+f+Un+YT(n):"")+"
",s}function A$(e,a,t,i){var o=document.createElement("div"),e=(i[14]=i[2],o.setAttribute("id",DK[3]+t),MK[e][a]=i,o.className="user_feed_thumb_game",i[3]?i[3].replace("{width}x{height}",Px):"");return o.innerHTML='
'+i[0]+"
"+(""!==i[1]?'
'+i[1]+"
":"")+"
",o}function S$(){_k(jC,Yx,k$,V,B,B,"POST",DR.replace("%y",E[B].cursor?', after: \\"'+E[B].cursor+'\\"':""))}function k$(e){200===e.status?j$(e.responseText):aZ(B)}function j$(e){var a=B,t=[];if((e=JSON.parse(e)).data&&e.data.currentUser&&e.data.currentUser.followedLiveUsers&&e.data.currentUser.followedLiveUsers.edges){E[a].dataEnded=!e.data.currentUser.followedLiveUsers.pageInfo.hasNextPage,t=e.data.currentUser.followedLiveUsers.edges,E[a].cursor=t&&t.length?t[t.length-1].cursor:null;for(var i=0,o=t.length;ia.stream[l][d]?1:0}:function(e,a){return e.stream[d]a.stream[d]?1:0}:l?function(e,a){return e.stream[l][d]>a.stream[l][d]?-1:e.stream[l][d]a.stream[d]?-1:e.stream[d]a-5&&0<=a-5&&(D[e]=a-5)}var P$="";function M$(){b$(HW-2),zm()&&(sZ(HW,P$!==v[0].name),P$=v[0].name)}function V$(){fW(),E[HW].div.classList.add("hide")}function O$(){E[HW].loadingMore||WW(HW),T$()}function T$(){D$($x+"videos/followed?limit=100&broadcast_type=archive&sort=time&offset="+E[HW].offset+iA)}function D$(e){_k(e,rk(3,tA+v[0].access_token),E$,V,HW,HW,null,null)}function E$(e){200===e.status?B$(e.responseText,HW):(!bK||401!==e.status&&403!==e.status||Rm()&&z_(0),aZ(HW))}function B$(e,a){var t,i,o=JSON.parse(e),n=0,s=SK[a],l=(o=o.videos).length;if(l)for(;na.date?-1:e.datea.stream[f][p]?1:0:0}):e.sort(function(e,a){return e&&a&&e.stream&&a.stream?e.stream[p]a.stream[p]?1:0:0}):f?e.sort(function(e,a){return e&&a&&e.stream&&a.stream&&e.stream[f]&&!a.stream[f]?e.stream[f][p]>a.stream[f][p]?-1:e.stream[f][p]a.stream[p]?-1:e.stream[p]=a&&(E[e].dataEnded=!0):E[e].dataEnded=!0):F$(e),SK[e]||tZ(e),E[e].loadingMore?(E[e].loadingMore=!1,e===N&&zK(D[e],SK[e])):A(function(){I$(e),RK(e)},25)}function F$(){}function H$(e,a,t){var e=JSON.parse(e),i=SK[a],o=e[t];if(a===UW)o=e.data&&e.data.user&&e.data.user.followedGames&&e.data.user.followedGames.nodes?o.user.followedGames.nodes:[];else if(E[a].isQuery)if(e.data&&e.data.games&&e.data.games.edges){E[a].dataEnded=!e.data.games.pageInfo.hasNextPage,o=e.data.games.edges,E[a].cursor=o&&o.length?o[o.length-1].cursor:null;for(var n=0,s=o.length;nE[e].MaxOffset)&&(E[e].dataEnded=!0)}var Q$,Y$=0,K$=0,W$=8,Z$=0,$$=null,eee=1,aee=null,tee=!0,iee=!1,oee="",nee=!1,see=!0,lee="";function dee(){Q$=Q$||[K2+"_thumbdiv_",K2+"_img_",K2+"_infodiv_",K2+"_displayname_",K2+"_cell_","user_scroll",K2+"_row_",K2+"_imgholder_",K2+"_title_"],Zm()?(r.Main_Before!==K2&&(eee=r.Main_Before),qA("label_thumb","icon-return",ue),qA("label_refresh","icon-user",en),d("label_last_refresh",""),r.Main_Go=K2,l4(),SU(W,Zo+" "+v[0].display_name),w("keydown",Oee),(l3()?s3:nee&&zk(lee,HH)?(vS(Y$),l(Q$[5]),hee(),P4):cee)(),w3("Users")):(r.Main_Go=Y2,ree(),k4())}function ree(){qA("label_thumb","icon-options",ms),x("keydown",Oee),t(Q$[5]),qA("label_refresh","icon-refresh",L+":"+vt)}function cee(){mS("stream_table_user"),t(Q$[5]),KA(),l4(),Ux=!(nee=!1),lee=HH,see=!(Y$=K$=0),o4(),HS(uee),w3("Users")}function uee(){var e=document.createElement("div"),a=m("stream_table_user"),t=1,i=0,o=document.createElement("div");o.setAttribute("id",Q$[4]+"0_0"),o.classList.add("stream_thumbnail_user_icon_holder"),e.setAttribute("id",Q$[6]+"0"),o.innerHTML='
'+ze+'
',e.appendChild(o);for(var n=0;n
'+v[a].display_name+"
",t}function pee(){HS(function(){nee||(nee=!0,hee(),WA(),P4()),l(Q$[5]),see=Ux=!1,iee&&(iee=!1,bee=Wm(oee),tee=!0,jee()),Rx&&E9()})}function hee(e){h(Q$[0]+Y$+"_"+K$,nA),n4(K$,Y$,rR,v.length+1),(bS(Y$)||e)&&(1t?(a.command=e.slice(t),a):null;for(a.command=e.slice(t,i),t=i+1;32===e.charCodeAt(t);)t++;for(;t"}function Gee(e){return e.replace(//g,">")}function zee(e,a,t){for(var i,o=e.split(" "),n=0,s=o.length;n=o[n])return i[o[n]];return i[o[0]]}function Fee(e,a){if(!a)return[e];var t,i,o,n,s,l=[],d=[];for(t in a)for(n=0,s=(o=a[t]).length;n= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=g-1,b=Math.floor,y=String.fromCharCode;function w(e){throw new RangeError(l[e])}function r(e,a){for(var t=e.length,i=[];t--;)i[t]=a(e[t]);return i}function c(e,a){var t="",i=(1<(i=e.split("@")).length&&(t=i[0]+"@",e=i[1]),(e=e.replace(s,".")).split("."));return t+r(i,a).join(".")}function x(e){for(var a,t,i=[],o=0,n=e.length;o>>10&1023|55296),e=56320|1023&e),a+y(e)}).join("")}function A(e,a){return e+22+75*(e<26)-((0!==a)<<5)}function S(e,a,t){var i=0;for(e=t?b(e/n):e>>1,e+=b(e/a);d*v>>1b((m-c)/n))&&w("overflow"),c+=l*n,!(l<(l=s<=f?1:f+v<=s?v:s-f));s+=g)n>b(m/(l=g-l))&&w("overflow"),n*=l;f=S(c-o,a=d.length+1,0===o),b(c/a)>m-u&&w("overflow"),u+=b(c/a),c%=a,d.splice(c++,0,u)}return h(d)}function f(e){for(var a,t,i,o,n,s,l,d,r,c,u=[],f=(e=x(e)).length,p=128,h=72,_=a=0;_b((m-a)/(d=t+1))&&w("overflow"),a+=(o-p)*d,p=o,_=0;_m&&w("overflow"),l===p){for(n=a,s=g;!(n<(r=s<=h?1:h+v<=s?v:s-h));s+=g)u.push(y(A(r+(c=n-r)%(r=g-r),0))),n=b(c/r);u.push(y(A(n,0))),h=S(a,d,t===i),a=0,++t}++a,++p}return u.join("")}e.punycode={version:"1.4.1",ucs2:{decode:x,encode:h},decode:u,encode:f,toASCII:function(e){return c(e,function(e){return i.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return c(e,function(e){return t.test(e)?u(e.slice(4).toLowerCase()):e})}}}(this);var Hee=function(){var e={parse:function(e,a,t){return e&&"string"==typeof e?o(e=(e=a?e:e.replace(//g,">")).replace(/(\r\n|\n|\r)/gm,""),function(e){var a=i(e);return a?'':e}):e+""},parseIcon:function(e){return e?o(e,function(e){var a=i(e);return a?"https://cdnjs.cloudflare.com/ajax/libs/twemoji/14.0.2/72x72/"+a+".png":e}):""},replace:o},t=/(?:\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,s=/\uFE0F/g,l=String.fromCharCode(8205);return e;function i(e){for(var a=e&&(e.indexOf(l)<0?e.replace(s,""):e),t=[],i=0,o=0,n=0;n * @@ -1271,6 +1285,8 @@ STR_PROXY_CONTROLS_ARRAY = [STR_K_TWITCH, STR_TTV_LOL, STR_T1080, STR_DISABLED]; SEEK_PREVIEW_ARRAY = [STR_DISABLED, SEEK_PREVIEW_SINGLE, SEEK_PREVIEW_CAROUSEL]; + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA3 = STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA3 + STR_BLOCKED_CODEC; } function DefaultReplaceLink(link, string, center) { @@ -1541,6 +1557,7 @@ STR_OPEN_HOST = 'Open the Hosting'; STR_SETTINGS_PLAYER = 'Player related'; STR_SETTINGS_BUFFER_SIZE = 'Start buffer size:'; + STR_SETTINGS_BUFFER_SIZE_SHORT_SUMMARY = 'Controls start buffer size'; STR_SETTINGS_BUFFER_SIZE_SUMMARY = 'How much is needed to buffer before starting the playback. This is not related to the maximum size that the buffer can reach (the maximum buffer size is based on the amount of RAM on the device). A lower value here will cause the playback to start sooner and that is always recommended. Changing this value to a bigger value will in most cases not cause any improvements, but rather setbacks.'; STR_SETTINGS_BUFFER_LIVE = 'Lives start buffer'; @@ -1609,7 +1626,7 @@ STR_LIVE_FEED = 'Live Feed'; STR_VOD_DIALOG = 'VOD start dialog'; STR_VOD_DIALOG_SUMMARY = - "Choose the default behavior, if the VOD info is present in user history when playing one, it can be played from where you last stopped watching. If you set this option to 'Always from the start', this behavior will also be applied to the VOD preview."; + "When playing a VOD saved on the user history, you can choose the default behavior of the VOD dialog. Setting it to 'Always from the start' also applies to the VOD preview."; STR_VOD_DIALOG_START = 'Always from the start'; STR_VOD_DIALOG_LAST = 'Always from the last stop'; STR_VOD_DIALOG_SHOW = 'Always ask'; @@ -1646,6 +1663,7 @@ STR_QUALITY_MULTI_BIG = [STR_PLAYER_MULTI_ALL, 'Top', 'Bottom left', 'Bottom center', 'Bottom right']; STR_PLAYER_BITRATE_UNLIMITED = 'Unlimited'; STR_PLAYER_BITRATE = 'Auto quality maximum allowed Resolution/Bitrate'; + STR_PLAYER_BITRATE_SHORT_SUMMARY = 'Allows to set max Resolution/Bitrate used by Auto quality playback'; STR_PLAYER_BITRATE_SUMMARY = "This is used to prevent lag on low-end devices when playing multiple videos at the same time (most devices will lag by skipping frames in that situation, as they are only made to play a single video). Also helps limit the internet bandwidth use in case you need a limit that also sets the 'Default player quality' to auto quality. The recommended resolution/bitrate for all small players is 720p/3 Mbps and unlimited for main or big players for most low-end devices."; STR_PLAYER_BITRATE_SUMMARY_ETC = @@ -1657,6 +1675,7 @@ STR_PLAYER_RES_MAIN = 'Resolution - ' + STR_PLAYER_MAIN; STR_PLAYER_RES_SMALL = 'Resolution - ' + STR_PLAYER_RES_SMALL; STR_BLOCK_RES = 'Blocked resolutions'; + STR_BLOCK_RES_SHORT_SUMMARY = 'Allows to block one or more resolutions from ever being used'; STR_BLOCK_RES_SUMMARY = "When using auto quality, it's possible to block one or more resolutions from ever being used. This is useful for devices that lag playing at a particular resolution. As clips can't be played in auto mode, this will also block the automatic part of this resolution in a clip."; STR_BLOCK_RES_SUMMARY_EXTRA = @@ -1673,7 +1692,7 @@ STR_AUDIO = 'Audio -'; STR_DEF_QUALITY = 'Default player quality'; STR_DEF_QUALITY_SUMMARY = - "This option will always override others when playing a single video. In picture-in-picture or multistream mode, the playback needs to use auto quality. The reason for why that can be found under the settings option '" + + "This option will override all others when playing a single video. In multi-player modes, the playback needs to use auto quality. The reason for this can be found under the settings option '" + STR_PLAYER_BITRATE + "'."; STR_PICTURE_PICTURE = 'Picture in picture, 50/50 or multistream (for lives only):'; @@ -1774,22 +1793,17 @@ STR_DPAD_POSTION = 'D-pad screen position'; STR_DPAD_OPACITY = 'D-pad opacity'; STR_DPAD_OPT = 'D-pad options'; - STR_BLOCKED_CODEC = 'Blocked codecs'; - STR_BLOCKED_CODEC_SUMMARY = 'List used codec capabilities and allow blocking a codec from being used.'; - STR_CODEC_DIALOG_TITLE = - "Software codecs (OMX.google) usually have the worst performance, but on some devices, they may have the advantage over hardware codecs. Using these ones can block those, so check if the performance of the playback improves, by default, the OMX.google decoder is disabled (if another codec is available). A constant accumulation of skipped frames is an indicative of a codec issue.
The app content only uses avc/h264 decoders, no others are listed."; - STR_SUPPORTED_CODEC = 'Supported codecs:'; + STR_MAX_RES = 'Max resolution:'; STR_MAX_BIT = 'Max bitrate:'; STR_MAX_LEVEL = 'Max level:'; STR_MAX_FPS = 'Max fps per resolution:'; STR_MAX_INSTANCES = 'Max instances:'; STR_UNKNOWN = 'Unknown'; - STR_ONE_CODEC_ENA = 'At least one codec must be enabled at all times.'; - STR_USER_LIVE = 'User live side pannel: Left D-pad from the side panel or key 3 from anywhere'; + STR_USER_LIVE = 'User live side panel: Left D-pad from the side panel or key 3 from anywhere'; STR_PP_WORKAROUND = 'Multiplayer, PP and preview mode workaround'; STR_PP_WORKAROUND_SUMMARY = - "For some devices usually running old versions of Android, it is necessary to enable this to have multiplayer mode working properly. Usually, the issue is that the player (PP or preview) will not be visible, or even when not in use it is visible as a black box over the main player. Don't enable this if you don't have issues, as it will result in lower image quality and possible loss of performance"; + "For some devices, it is necessary to enable this to have multiplayer mode working properly. The issue is usually that one of the two players becomes a black screen. Don't enable it if you don't have issues, as it will cause lower image quality and poor performance."; STR_HISTORY = 'History'; STR_WATCHED = 'Watched on'; STR_UNTIL = 'until'; @@ -1912,7 +1926,7 @@ STR_MULTI_MAIN_WINDOW + ' bigger and chat: Press the down key and after that use the left/right keys to change the big video'; STR_SOURCE_CHECK = 'Automatically change player quality from Source to Auto when the player lags'; STR_SOURCE_CHECK_SUMMARY = - "When this option is enabled, and you aren't using auto quality, the player will switch to auto quality and warn about it if the player is lagging. A player lag is for example when the player is unable to play for over 15 seconds (the algorithm is more complex than just time of course), after this, changing the player will automatically go back to the source when you open a new VOD stream."; + 'When enabled, and not using auto quality, the player will switch to auto quality and warn about it if the player is lagging. A Player lag is when the player is unable to play for a few seconds (the algorithm is more complex than just time), if you play something else it will go back to the original quality.'; STR_PLAYER_LAG = "Player is lagging, quality changed to 'Auto mode'"; STR_PLAYER_SOURCE = 'Player is lagging, quality was lowered'; STR_TOO_ERRORS = 'or too many errors'; @@ -2163,6 +2177,36 @@ STR_WRONG_PASS = 'Wrong password!'; STR_PASS_MATURE_ENABLED = 'Mature content is enabled, old password deleted'; + + STR_PLAYER_EXTRA_CODEC = 'Extra codec support'; + STR_PLAYER_EXTRA_CODEC_SUMMARY = 'Beta codec support that are being tested by Twitch'; + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA = 'Most streams only have AVC H.264 support '; + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA2 = + 'For the codec to work the device must be capable, check the capability below (must be green), and the stream must be using the codec.'; + + STR_PLAYER_CODEC_AV1 = 'AV1'; + STR_PLAYER_CODEC_HEVC = 'HEVC'; + + STR_PLAYER_CODEC_SUPPORTED = 'supported'; + STR_PLAYER_CODEC_NOT_SUPPORTED = 'Not supported! Enabling this codec can cause playback errors and no playback.'; + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA3 = 'To better understand the device capability check the settings option: '; + + STR_BLOCKED_CODEC = 'Codec capability & Blocked codecs'; + STR_BLOCKED_CODEC_SUMMARY = 'List used codec capabilities and allow blocking codecs from being used.'; + + STR_CODEC_DIALOG_SUMMARY_1 = 'This section lists all device-supported codec types AVC H.264, HEVC H.265, and AV1 used by this app.'; + + STR_CODEC_DIALOG_SUMMARY_2 = + 'Software codecs (OMX.google) are disabled by default if a hardware codec is available, if you have a playback problem try to disable the software codec and enable the hardware or vice versa (A constant accumulation of skipped frames is indicative of a codec issue).'; + + STR_CODEC_DIALOG_SUMMARY_3 = 'At least one codec of each type must be enabled at all times.'; + + STR_SPEED_ADJUST = 'Catch-up with low latency'; + STR_SPEED_ADJUST_SUMMARY = + 'When low latency is enabled, auto-adjust the latency if it is off the expected target, by slowing or speeding the stream by 1%, the speed change can cause minor audio noise when the latency is being adjusted.'; } /* * Copyright (c) 2017-2020 Felipe de Leon @@ -2542,9 +2586,7 @@ STR_DPAD_OPT = 'Opciones del D-pad'; STR_BLOCKED_CODEC = 'Codecs bloqueados'; STR_BLOCKED_CODEC_SUMMARY = 'Lista de los códecs utilizados y permite bloquear el uso de un códec'; - STR_CODEC_DIALOG_TITLE = - 'Los códecs de software (OMX.google) suelen tener un peor rendimiento, pero en algún dispositivo pueden tener preferencia sobre los códecs de hardware, usando este se pueden bloquear y ver si el rendimiento de la reproducción mejora, por defecto el decodificador OMX.google está desactivado (si hay otro códec disponible) una acumulación constante de fotogramas omitidos es un indicativo de un problema de códec.
El contenido de la aplicación sólo utiliza decodificadores avc/h264 no hay otro en la lista.'; - STR_SUPPORTED_CODEC = 'Códecs soportados:'; + STR_MAX_RES = 'Resolución máxima:'; STR_MAX_BIT = 'Tasa de bits máxima:'; STR_MAX_LEVEL = 'Nivel máximo:'; @@ -3204,16 +3246,13 @@ STR_DPAD_OPT = 'Opções do D-pad'; STR_BLOCKED_CODEC = 'Codecs bloqueados'; STR_BLOCKED_CODEC_SUMMARY = 'Lista as capacidades dos codecs usados ​​e permite bloquear o uso de um codec'; - STR_CODEC_DIALOG_TITLE = - 'Codecs de software (OMX.google) geralmente têm pior desempenho, mas em alguns dispositivos eles podem ter precedência sobre codecs de hardware, usando este pode bloqueá-los e ver se o desempenho da reprodução melhora, por padrão, o decodificador OMX.google está desabilitado (se outro codec estiver disponível) um acúmulo constante de quadros ignorados é um indicativo de um problema de codec.
O conteúdo do aplicativo usa apenas decodificadores avc/h264 nenhum outro está listado.'; - STR_SUPPORTED_CODEC = 'Codecs suportados:'; + STR_MAX_RES = 'Resolução máxima:'; STR_MAX_BIT = 'Taxa de bits máxima:'; STR_MAX_LEVEL = 'Nível máximo:'; STR_MAX_FPS = 'Max fps por resolução:'; STR_MAX_INSTANCES = 'Máximo de instâncias:'; STR_UNKNOWN = 'Desconhecido'; - STR_ONE_CODEC_ENA = 'Pelo menos um codec deve estar habilitado o tempo todo'; STR_USER_LIVE = 'Painel lateral ao vivo: do painel lateral direcional esquerdo ou de qualquer lugar, pressione 3'; STR_PP_WORKAROUND = 'Solução alternativa modo multiplayer, PP e preview'; STR_PP_WORKAROUND_SUMMARY = @@ -4065,16 +4104,13 @@ STR_DPAD_OPT = 'Настройки D-Pad'; STR_BLOCKED_CODEC = 'Заблокированные кодеки'; STR_BLOCKED_CODEC_SUMMARY = 'Перечислить возможности используемых кодеков и разрешить/запретить использование кодеков'; - STR_CODEC_DIALOG_TITLE = - 'Программные кодеки (OMX.google) обычно имеют худшую производительность, но на некоторых устройствах они могут иметь приоритет над аппаратными кодеками. Используя это, кодеки можно заблокировать и посмотреть, улучшится ли производительность воспроизведения, по умолчанию декодер OMX.google отключен (если доступен другой кодек). Постоянное накопление пропущенных кадров указывает на проблему с кодеком.
В контенте приложения используются только декодеры avc/h264, другие не предусмотрены.'; - STR_SUPPORTED_CODEC = 'Поддерживаемые кодеки:'; + STR_MAX_RES = 'Макс. разрешение:'; STR_MAX_BIT = 'Макс. битрейт:'; STR_MAX_LEVEL = 'Макс. уровень:'; STR_MAX_FPS = 'Макс. FPS:'; STR_MAX_INSTANCES = 'Макс. экземпляры:'; STR_UNKNOWN = 'Неизвестно'; - STR_ONE_CODEC_ENA = 'Хотя бы один кодек должен быть включен постоянно'; STR_USER_LIVE = 'Боковая панель Акт.каналы: на боковой панели D-pad влево или из любого места кнопка 3'; STR_HISTORY = 'История'; @@ -4549,7 +4585,7 @@ //Some sizes are based on VH but some devices have a wrong value for CSS vh var ele = Main_getElementById('settings_scroll'); if (ele) { - ele.style.fontSize = currentHeight * 0.0267 + 'px'; + ele.style.fontSize = currentHeight * 0.0254 + 'px'; } var cssClass = @@ -4677,29 +4713,20 @@ //Spacing for release maker not trow errors from jshint var version = { VersionBase: '3.0', - publishVersionCode: 363, //Always update (+1 to current value) Main_version_java after update publishVersionCode or a major update of the apk is released - ApkUrl: 'https://github.com/fgl27/SmartTwitchTV/releases/download/363/SmartTV_twitch_3_0_363.apk', - WebVersion: 'July 2024', - WebTag: 679, //Always update (+1 to current value) Main_version_web after update Main_minversion or a major update of the web part of the app + publishVersionCode: 365, //Always update (+1 to current value) Main_version_java after update publishVersionCode or a major update of the apk is released + ApkUrl: 'https://github.com/fgl27/SmartTwitchTV/releases/download/365/SmartTV_twitch_3_0_365.apk', + WebVersion: 'August 2024', + WebTag: 671, //Always update (+1 to current value) Main_version_web after update Main_minversion or a major update of the web part of the app changelog: [{ - title: 'Version March to July 2024 Apk Version 3.0.363', + title: 'Version August 2024 Apk Version 3.0.365', changes: [ - 'Add a red icon when the channel is live for the User channel and channel search screen', - 'Improve User live side panel loading', - 'Improve User channel screen loading', - 'Player: Migrate from Exoplayer to Media3, the Exoplayer changed its name to Media3 and stop received updates on the old project, if anyone has any issue regarding playback please open a GitHub issue or send an email', - 'Change Featured to Front Page (name change only)', - 'Add User Videos section', - 'Improve channel search results order, Twitch provides no order on the result, do a local ordering to show a more constant result', - 'Add search Live', - 'Add Search Videos', - 'Show all counters on all game screens', - 'Fix sometimes opening the wrong VOD for "Open the Last VOD" (the one of the options that show when a live end)', - 'Fix preview animated image not always showing', - 'Fix VOD seek preview image not always showing', - 'Improve exiting a search or search content as Channel content you enter after a search, before the app sometimes exit a search on the wrong section', - 'Improve app exit functionality', - 'Improve disable mature content with a password, now after enabling mature the old pass will be deleted, add a new one if disable again', + 'Add support for HEVC H.265 and AV1 Live and VOD (Settings Extra codec support), it still depends on the streamer to use and is on beta testing only some can', + 'Update Codec capability & Blocked codecs settings section to support new codecs and to show better information', + 'Improve display and sorting for player quality, sometimes it can come out of order from the server or have missing information', + "Fix Auto quality not playing stream with a resolution bigger than the device's current resolution", + 'Home screen content will no longer show blocked content', + 'Add new settings option "Catch-up with low latency" auto-adjust the latency if it is behind the expected target, by slowing or speeding the stream by 1%', + 'Improve progress bar for lives playback, show proper duration if paused for too long', 'General app text improves, this is an open source app anyone that wanna improve app text or add translations can the process is simple', 'Other General improvements' ] @@ -5568,6 +5595,8 @@ OSInterface_UpdateUserId(null); } + + Main_UpdateBlockedHomeScreen(); } function AddUser_SaveUserArray() { @@ -5604,6 +5633,7 @@ //Reset history obj and check for deleted vod/clips Main_history_SetVod_Watched(); + Main_UpdateBlockedHomeScreen(); Main_setTimeout(Main_RunVODWorker, 10000); Main_setTimeout(Main_RunClipWorker, 30000); @@ -11790,7 +11820,7 @@ DeviceCheck2: false, MiboxRevertCheck: false, Never_run_phone: true, - Codec_is_Check: false, + Codec_is_Check_new: false, OS_is_Check: false, Restore_Backup_Check: false, UserSidePannel_LastPositionId: null, @@ -12175,48 +12205,129 @@ } } - //Disable googles OMX.google.h264.decoder and c2.android.avc.decoder if another codec is available - if (!Main_values.Codec_is_Check) { - var codecs = null; + if (!Main_values.Codec_is_Check_new) { try { - if (Main_IsOn_OSInterface) codecs = JSON.parse(OSInterface_getcodecCapabilities('avc')); + //keep inside a try to avoid any device issues crashing the app + Main_SetBlockedFirstRun(); } catch (e) {} + } + } else { + if (Main_values.Never_run_new) Settings_ForceEnableAnimations(); - if (codecs) { - Main_values.Codec_is_Check = true; + //Main_TestSetBlockedFirstRun(); + } + } - if (codecs.length > 1) { - var codecsNames = []; + // function Main_TestSetBlockedFirstRun() { + // var codecs = Main_SetBlockedGetCodecs(); + // console.log('Main_SetBlockedGetCodecs', codecs); - var i = 0, - len = codecs.length; + // console.log(Main_SetBlockedGetToBlock(codecs)); + // console.log( + // //only one av1 google + // Main_SetBlockedGetToBlock( + // JSON.parse( + // '[{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"5.2","maxresolution":"3840x2176","name":"OMX.Nvidia.h264.decode","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps","type":"video/avc"},{"instances":32,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.google.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":-1,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.chico.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.goldfish.hevc.decoder","resolutions":"160p : 480 fps | 360p : 480 fps | 480p : 480 fps | 720p : 480 fps | 900p : 364 fps | 1080p : 254 fps | 1440p : 144 fps | 2160p : 64 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.android.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"OMX.google.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.android.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.google.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"}]' + // ) + // ) + // ); + // } - for (i; i < len; i++) { - var codec = codecs[i].name ? codecs[i].name.toLowerCase() : ''; + function Main_SetBlockedFirstRun() { + //Disable googles OMX.google.h264.decoder and c2.android.avc.decoder if another codec is available - if (Main_A_includes_B(codec, 'google') || Main_A_includes_B(codec, 'c2.android')) { - codecsNames.push(codecs[i].name); - } - } + var codecs = Main_SetBlockedGetCodecs(); - if (codecsNames.length && codecsNames.length < codecs.length) { - i = 0; - len = codecsNames.length; + if (codecs && codecs.length > 1) { + var codecsToBlock = Main_SetBlockedGetToBlock(codecs); + //only save if we received codecs + Main_values.Codec_is_Check_new = true; - for (i; i < len; i++) { - Main_setItem(codecsNames[i], 1); - } + if (codecsToBlock.length) { + var i = 0, + len = codecsToBlock.length; + + for (i; i < len; i++) { + Main_setItem(codecsToBlock[i], 1); + } - Main_setItem('Settings_DisableCodecsNames', JSON.stringify(codecsNames)); + Main_setItem('Settings_DisableCodecsNames', JSON.stringify(codecsToBlock)); - OSInterface_setBlackListMediaCodec(codecsNames.join()); - } - } + OSInterface_setBlackListMediaCodec(codecsToBlock.join()); + } + } + } + + function Main_SetBlockedGetCodecs() { + var codecs = null; + try { + if (Main_IsOn_OSInterface) { + codecs = JSON.parse(OSInterface_getcodecCapabilities('avc')); + codecs.push.apply(codecs, JSON.parse(OSInterface_getcodecCapabilities('hevc'))); + codecs.push.apply(codecs, JSON.parse(OSInterface_getcodecCapabilities('av01'))); + } else { + codecs = JSON.parse( + '[{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"5.2","maxresolution":"3840x2176","name":"OMX.Nvidia.h264.decode","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps","type":"video/avc"},{"instances":32,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.google.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":-1,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.chico.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.goldfish.hevc.decoder","resolutions":"160p : 480 fps | 360p : 480 fps | 480p : 480 fps | 720p : 480 fps | 900p : 364 fps | 1080p : 254 fps | 1440p : 144 fps | 2160p : 64 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.android.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"OMX.google.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.android.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.google.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.test.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c.test2.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"}]' + ); + } + } catch (e) {} + + return codecs; + } + + function Main_SetBlockedGetToBlock(codecs) { + //creates a map of to block codecs and normal + var codecsMap = { + ToBlock: {}, + Normal: { + av1: [], + avc: [], + hevc: [] } + }, + codecsToBlock = [], + codec; + + var i = 0, + len = codecs.length, + type; + + for (i; i < len; i++) { + codec = codecs[i].name ? codecs[i].name.toLowerCase() : ''; + + type = codecs[i].type; + codecs[i].type = Main_CodecGetType(type); + + if (Main_A_includes_B(codec, 'google') || Main_A_includes_B(codec, 'c2.android')) { + codecsMap.ToBlock[codecs[i].name] = codecs[i]; + } else if (codecsMap.Normal[codecs[i].type]) { + codecsMap.Normal[codecs[i].type].push(codecs[i]); } - } else if (Main_values.Never_run_new) { - Settings_ForceEnableAnimations(); } + + var ToBlockKeys = Object.keys(codecsMap.ToBlock); + + i = 0; + len = ToBlockKeys.length; + + //only block if normals codecs are available for the type + for (i; i < len; i++) { + codec = codecsMap.ToBlock[ToBlockKeys[i]]; + + if (codecsMap.Normal[codec.type].length) { + codecsToBlock.push(codec.name); + } + } + + return codecsToBlock; + } + + function Main_CodecGetType(type) { + if (Main_A_includes_B(type, 'avc')) return 'avc'; + else if (Main_A_includes_B(type, 'hevc')) return 'hevc'; + else if (Main_A_includes_B(type, 'av01')) return 'av1'; + + return null; } function Main_SetStringsMain() { @@ -14056,6 +14167,7 @@ Main_values_History_data = Screens_assign(Main_values_History_data, Main_getItemJson('Main_values_History_data', {})); Main_history_SetVod_Watched(); + Main_UpdateBlockedHomeScreen(); } function Main_History_Sort(array, msort, direction) { @@ -14081,7 +14193,25 @@ function Main_SaveHistoryItem() { var string = JSON.stringify(Main_values_History_data); Main_setItem('Main_values_History_data', string); - if (Main_CanBackup) OSInterface_BackupFile(Main_HistoryBackupFile, string); + + if (Main_CanBackup) { + OSInterface_BackupFile(Main_HistoryBackupFile, string); + } + Main_UpdateBlockedHomeScreen(); + } + + function Main_UpdateBlockedHomeScreen() { + OSInterface_UpdateBlockedChannels(); + OSInterface_UpdateBlockedGames(); + } + + function Main_GetBlockedJson(type) { + if (!AddUser_IsUserSet()) { + return '[]'; + } + + var blockedObj = Main_values_History_data[AddUser_UsernameArray[0].id].blocked[type]; + return JSON.stringify(Object.keys(blockedObj)); } //Only works on vectors, matrixs and etc need to use JSON.parse(JSON.stringify(array)) to prevent keeping the iner obj references @@ -15510,7 +15640,7 @@ //Android specific: false in the OS has multi player supports Samsung TV for example don't have //Sets mediaSources and start the player function OSInterface_StartAuto(uri, mainPlaylistString, who_called, ResumePosition, player) { - if (who_called === 1) { + if (who_called === 1 || who_called === 2) { mainPlaylistString = Play_FixQualities(mainPlaylistString); } @@ -15526,7 +15656,7 @@ //Android specific: false in the OS has multi player supports Samsung TV for example don't have //Sets mediaSources and start the player function OSInterface_ReuseFeedPlayer(uri, mainPlaylistString, who_called, ResumePosition, player) { - if (who_called === 1) { + if (who_called === 1 || who_called === 2) { mainPlaylistString = Play_FixQualities(mainPlaylistString); } @@ -15560,14 +15690,45 @@ Android.mhideSystemUI(); } + //public void OSInterface_UpdateBlockedChannels(String channelsJson) + //channelsJson = channelsJson map with all blocked channels + //Sets the map of blocked channels used by home screen content + function OSInterface_UpdateBlockedChannels() { + if (Main_IsOn_OSInterface) { + try { + Android.UpdateBlockedChannels(Main_GetBlockedJson('channel')); + } catch (e) {} + } + } + + //public void UpdateBlockedGames(String gamesJson) + //gamesJson = gamesJson map with all blocked games + //Sets the map of blocked games used by home screen content + function OSInterface_UpdateBlockedGames() { + if (Main_IsOn_OSInterface) { + try { + Android.UpdateBlockedGames(Main_GetBlockedJson('game')); + } catch (e) {} + } + } + + //public void setSpeedAdjustment(boolean speedAdjustment) + //speedAdjustment = boolean to enable auto adjustment of latency base on speed + //Sets speedAdjustment + function OSInterface_setSpeedAdjustment(speedAdjustment) { + if (Main_IsOn_OSInterface) { + try { + Android.setSpeedAdjustment(Boolean(speedAdjustment)); + } catch (e) {} + } + } + //public void setAppToken(String token) //token = token to save //Sets the app token when value is updated from JS function OSInterface_setAppToken() { if (Main_IsOn_OSInterface) { - try { - Android.setAppToken(AddCode_main_token ? AddCode_main_token : null); - } catch (e) {} + Android.setAppToken(AddCode_main_token ? AddCode_main_token : null); } } @@ -15956,9 +16117,7 @@ //Android specific: true //Start MultiStream at position function OSInterface_StartFeedPlayer(uri, mainPlaylistString, position, resumePosition, isVod) { - if (!isVod) { - mainPlaylistString = Play_FixQualities(mainPlaylistString); - } + mainPlaylistString = Play_FixQualities(mainPlaylistString); Android.StartFeedPlayer(uri, mainPlaylistString, position, resumePosition, Boolean(isVod)); } @@ -16002,7 +16161,7 @@ //Android specific: true //Start MultiStream at position function OSInterface_StartScreensPlayer(uri, mainPlaylistString, ResumePosition, bottom, right, left, web_height, who_called) { - if (who_called === 1) { + if (who_called === 1 || who_called === 2) { mainPlaylistString = Play_FixQualities(mainPlaylistString); } @@ -20075,7 +20234,7 @@ Play_SetHtmlQuality(Play_info_quality); if (oldQuality !== Play_data.quality) { - OSInterface_SetQuality(Play_data.qualityIndex - 1); //just quality change + OSInterface_SetQuality(Play_data.qualities[Play_data.qualityIndex].position); //just quality change } else { OSInterface_RestartPlayer(1, 0, 0); //restart the player } @@ -20089,8 +20248,11 @@ PlayVod_qualityPlaying = PlayVod_quality; PlayVod_SetHtmlQuality(Play_info_quality); - if (oldQuality !== PlayVod_quality) OSInterface_SetQuality(PlayVod_qualityIndex - 1); //just quality change - else OSInterface_RestartPlayer(2, OSInterface_gettime(), 0); //resetart the player + if (oldQuality !== PlayVod_quality) { + OSInterface_SetQuality(PlayVod_qualities[PlayVod_qualityIndex].position); //just quality change + } else { + OSInterface_RestartPlayer(2, OSInterface_gettime(), 0); //resetart the player + } PlayVod_qualityIndexReset(); } else if (PlayVodClip === 3) { @@ -22338,7 +22500,10 @@ if (Main_IsOn_OSInterface) { //Not on auto mode for change to auto before start picture in picture - if (!Main_A_includes_B(Play_data.quality, 'Auto')) OSInterface_SetQuality(-1); + if (!Main_A_includes_B(Play_data.quality, 'Auto')) { + OSInterface_SetQuality(-1); + } + Play_SetPlayQuality('Auto'); Play_qualityDisplay(Play_getQualitiesCount, 0, Play_SetHtmlQuality, Play_controls[Play_controlsQuality]); PlayExtra_data.quality = 'Auto'; @@ -22814,6 +22979,8 @@ //To pass to Java var Play_Headers; //Live + var play_ExtraCodecsValues; + var Play_live_token_prop = 'streamPlaybackAccessToken'; var Play_live_token = '{"operationName":"PlaybackAccessToken_Template","query":"query PlaybackAccessToken_Template($login: String!, $isLive: Boolean!, $vodID: ID!, $isVod: Boolean!, $playerType: String!, $platform: String!) ' + @@ -22821,7 +22988,7 @@ ' videoPlaybackAccessToken(id: $vodID, params: {platform: $platform, playerBackend: \\"mediaplayer\\", playerType: $playerType}) @include(if: $isVod) { value signature __typename }}",' + '"variables":{"isLive":true,"login":"%x","isVod":false,"vodID":"","playerType":"pulsar","platform":"switch_web_tv"}}'; var Play_base_live_links = - 'player_backend=mediaplayer&reassignments_supported=true&playlist_include_framerate=true&allow_source=true&fast_bread=false&cdm=wv&acmb=e30%3D&p=%p&play_session_id=%i&player_version=1.13.0'; + 'player_backend=mediaplayer&reassignments_supported=true&playlist_include_framerate=true&allow_source=true&fast_bread=false&cdm=wv&acmb=e30%3D&p=%p&play_session_id=%i&player_version=1.13.0&supported_codecs=%c'; var Play_original_live_links = 'https://usher.ttvnw.net/api/channel/hls/'; @@ -22850,7 +23017,7 @@ var Play_vod_token_prop = 'videoPlaybackAccessToken'; var Play_vod_token = '{"query":"{videoPlaybackAccessToken(id:\\"%x\\", params:{platform:\\"android\\",playerType:\\"mobile\\"}){value signature}}"}'; var Play_vod_links = - 'https://usher.ttvnw.net/vod/%x.m3u8?&nauth=%t&nauthsig=%s&reassignments_supported=true&playlist_include_framerate=true&allow_source=true&cdm=wv&p=%d'; + 'https://usher.ttvnw.net/vod/%x.m3u8?nauth=%t&nauthsig=%s&reassignments_supported=true&playlist_include_framerate=true&allow_source=true&cdm=wv&p=%d&supported_codecs=%c'; function PlayHLS_GetPlayListAsync(isLive, Channel_or_VOD_Id, CheckId_y, CheckId_x, callBackSuccess) { // console.log('isLive', isLive); @@ -22948,7 +23115,9 @@ if (isLive) { var randomId = parseInt(Math.random() * 10000000000000000); var randomInt = parseInt(Math.random() * 100000000); - var URL_parameters = Play_base_live_links.replace('%p', randomInt).replace('%i', randomId + '' + randomId); + var URL_parameters = Play_base_live_links.replace('%p', randomInt) + .replace('%i', randomId + '' + randomId) + .replace('%c', play_ExtraCodecsValues); if (useProxy) { headers = proxy_headers; @@ -22965,7 +23134,8 @@ url = Play_vod_links.replace('%x', Channel_or_VOD_Id) .replace('%t', encodeURIComponent(Token)) .replace('%s', Sig) - .replace('%d', Math.random() * 100000); + .replace('%d', Math.random() * 100000) + .replace('%c', play_ExtraCodecsValues); } return { @@ -23400,6 +23570,7 @@ Chat_Disable(); BrowserTestStartLive(Play_data.data[6]); } + Play_extractQualitiesTest(); } //Play_ResetProxy(); @@ -24095,7 +24266,7 @@ Play_SetHtmlQuality(Play_info_quality); if (Main_IsOn_OSInterface) { - OSInterface_SetQuality(Play_data.qualityIndex - 1); + OSInterface_SetQuality(Play_data.qualities[Play_data.qualityIndex].position); } else { Play_onPlayer(); } @@ -24108,12 +24279,29 @@ if (!Main_IsOn_OSInterface) return; var baseQualities = OSInterface_getQualities(); + var result; if (baseQualities) { Play_getQualitiesFail = false; result = JSON.parse(baseQualities); + var i = 0, + len = result.length; + + //add the position to the obj, as we may change the order and need the position to use in Play_controls[Play_controlsQuality] + for (i; i < len; i++) { + result[i].position = i - 1; + } + + //sort by resolution + result.sort(function(a, b) { + if (!a || !b) { + return 0; + } + return parseInt(b.id.split('p')[0]) - parseInt(a.id.split('p')[0]); + }); + if (result.length > 1) { result[1].id += ' | source'; } @@ -24163,6 +24351,7 @@ Play_ExternalUrls.push(array[i].url); Play_controls[Play_controlsExternal].values.push(array[i].id); } + Play_controls[Play_controlsExternal].defaultValue = Play_controls[Play_controlsExternal].values.length - 1; Play_controls[Play_controlsExternal].setLabel(); @@ -24177,46 +24366,101 @@ if (qualities.length && qualities[0].truebitrate) { input = input.replace(qualities[0].bitrate, qualities[0].truebitrate); } + return input; } + function Play_extractQualitiesTest() { + /* jshint ignore:start */ + var testString = ` +#EXTM3U +#EXT-X-TWITCH-INFO:NODE="video-edge-6205c6.sao03",MANIFEST-NODE-TYPE="weaver_cluster",MANIFEST-NODE="video-weaver.sao03",SUPPRESS="true",SERVER-TIME="1722602179.79",TRANSCODESTACK="2023-Transcode-Gen2-V1",TRANSCODEMODE="cbr_v1",USER-IP="177.22.171.246",SERVING-ID="f",CLUSTER="sao03",ABS="true",VIDEO-SESSION-ID="2118154500142300273",BROADCAST-ID="40914639541",STREAM-TIME="18032.793634",B="false",USER-COUNTRY="BR",MANIFEST-CLUSTER="sao03",ORIGIN="muc03",C="a",D="false" +#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="chunked",NAME="1080p60 (source)",AUTOSELECT=YES,DEFAULT=YES +#EXT-X-STREAM-INF:BANDWIDTH=6857175,RESOLUTION=1920x1080,CODECS="avc1.64002A,mp4a.40.2",VIDEO="chunked",FRAME-RATE=59.000 +https://video-weaver.sao03.hls.ttvnw.net/v1/playlist/C.m3u8 +#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="720p60",NAME="720p60",AUTOSELECT=YES,DEFAULT=YES +#EXT-X-STREAM-INF:BANDWIDTH=3422999,RESOLUTION=1280x720,CODECS="avc1.4D401F,mp4a.40.2",VIDEO="720p60",FRAME-RATE=60.000 +https://video-weaver.sao03.hls.ttvnw.net/v1/playlist/C.m3u8 +#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="480p30",NAME="480p",AUTOSELECT=YES,DEFAULT=YES +#EXT-X-STREAM-INF:BANDWIDTH=1427999,RESOLUTION=852x480,CODECS="avc1.4D401F,mp4a.40.2",VIDEO="480p30",FRAME-RATE=30.000 +https://video-weaver.sao03.hls.ttvnw.net/v1/playlist/C.m3u8 +#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="360p30",NAME="360p",AUTOSELECT=YES,DEFAULT=YES +#EXT-X-STREAM-INF:BANDWIDTH=630000,RESOLUTION=640x360,CODECS="avc1.4D401F,mp4a.40.2",VIDEO="360p30",FRAME-RATE=30.000 +https://video-weaver.sao03.hls.ttvnw.net/v1/playlist/C.m3u8 +#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="160p30",NAME="160p",AUTOSELECT=YES,DEFAULT=YES +#EXT-X-STREAM-INF:BANDWIDTH=230000,RESOLUTION=284x160,CODECS="avc1.4D401F,mp4a.40.2",VIDEO="160p30",FRAME-RATE=27.000 +https://video-weaver.sao03.hls.ttvnw.net/v1/playlist/C.m3u8 09:36:20.90 + `; + + console.log('Play_extractQualitiesTest', Play_extractQualities(testString)); + /* jshint ignore:end */ + } + function Play_extractQualities(input) { var result = [], addedResolution = {}, marray, marray2, Regexp = /#EXT-X-MEDIA:(.)*\n#EXT-X-STREAM-INF:(.)*\n(.)*/g, - Regexp2 = /NAME="(.+?)".*BANDWIDTH=(\d+).*CODECS="(.+?)".*(http(.*))/g; + Regexp2 = /NAME="(.+?)".*BANDWIDTH=(\d+).*CODECS="(.+?)".*FRAME-RATE=(\d+).*(http(.*))/g, + id, + res, + frame; while ((marray = Regexp.exec(input))) { while ((marray2 = Regexp2.exec(marray[0].replace(/(\r\n|\n|\r)/gm, '')))) { + id = marray2[1]; + if (!result.length) { - if (!Main_A_includes_B(marray2[1], 'ource')) { - marray2[1] = marray2[1] + ' | ' + STR_SOURCE; - } else if (marray2[1]) { + //Live stream may have source word in it + if (Main_A_includes_B(marray2[1], 'ource')) { marray2[1] = marray2[1].replace('(', '| ').replace(')', '').replace('source', STR_SOURCE); } + } + + //Prevent duplicated resolution 720p60 source and 720p60 + if (!addedResolution[id]) { + res = parseInt(id.split('p')[0]); + frame = Math.ceil(parseInt(marray2[4]) / 10) * 10; result.push({ - id: marray2[1] + Play_extractBand(marray2[2]) + Play_extractCodec(marray2[3]), - url: marray2[4], - bitrate: parseInt(marray2[2]) + id: res + 'p' + frame, + url: marray2[5], + bitrate: parseInt(marray2[2]), + resolution: res, + band: Play_extractBand(marray2[2]), + codec: Play_extractCodec(marray2[3]), + frame: frame }); - addedResolution[marray2[1].split(' | ')[0]] = 1; - } else { - //Prevent duplicated resolution 720p60 source and 720p60 - if (!addedResolution[marray2[1]]) { - result.push({ - id: marray2[1] + Play_extractBand(marray2[2]) + Play_extractCodec(marray2[3]), - url: marray2[4], - bitrate: parseInt(marray2[2]) - }); - addedResolution[marray2[1]] = 1; - } + + addedResolution[id] = 1; } } } + //sort base on resolution as it may not come sorted + result.sort(function(a, b) { + if (!a || !b) { + return 0; + } + return b.resolution - a.resolution; + }); + + //some vods dont have the source option + if (!Main_A_includes_B(result[0].id, 'ource')) { + result[0].id += ' | ' + STR_SOURCE; + } + + var i = 0, + len = result.length; + + //remove not needed info from ID + for (i; i < len; i++) { + result[i].id = result[i].id.replace('av1', ''); + result[i].id = result[i].id + result[i].band + result[i].codec; + } + + //Some stream have the wrong bitrate set what causes issue when selecting the best quality on auto playback if (result.length > 1 && result[0].bitrate < result[1].bitrate) { result[0].truebitrate = result[0].bitrate + result[1].bitrate; } @@ -24230,9 +24474,12 @@ } function Play_extractCodec(input) { - if (Main_A_includes_B(input, 'avc')) return ' | avc'; - else if (Main_A_includes_B(input, 'vp9')) return ' | vp9'; - else if (Main_A_includes_B(input, 'mp4')) return ' | mp4'; + if (Main_A_includes_B(input, 'avc')) return ' | AVC'; + else if (Main_A_includes_B(input, 'vp9')) return ' | VP9'; + else if (Main_A_includes_B(input, 'hvc')) return ' | HEVC'; + else if (Main_A_includes_B(input, 'av01')) return ' | AV1'; + else if (Main_A_includes_B(input, 'mp4')) return ' | MP4'; + return ''; } @@ -24277,8 +24524,9 @@ if (Main_IsOn_OSInterface) { quality_string = Play_data.quality.replace('Auto', STR_AUTO); } else { - if (Play_info_quality !== element) quality_string = Play_data.quality.replace('Auto', STR_AUTO); - else { + if (Play_info_quality !== element) { + quality_string = Play_data.quality.replace('Auto', STR_AUTO); + } else { quality_string = Play_data.qualities[1].id.replace('source', STR_AUTO) + Play_data.qualities[1].band + Play_data.qualities[1].codec; } } @@ -24853,7 +25101,9 @@ } else { PlayVod_SetHtmlQuality(Play_info_quality); } - } else Main_innerHTML('stream_quality', value); + } else { + Main_innerHTML('stream_quality', value); + } } function Play_clearHidePanel() { @@ -26735,8 +26985,12 @@ PlayVod_qualityPlaying = PlayVod_quality; PlayVod_SetHtmlQuality(Play_info_quality); - if (Main_IsOn_OSInterface) OSInterface_SetQuality(PlayVod_qualityIndex - 1); - else PlayVod_onPlayer(); + + if (Main_IsOn_OSInterface) { + OSInterface_SetQuality(PlayVod_qualities[PlayVod_qualityIndex].position); + } else { + PlayVod_onPlayer(); + } } function PlayVod_onPlayer() { @@ -27030,7 +27284,9 @@ } } - if (PlayVod_qualities[PlayVod_qualityIndex]) Play_qualityTitleReset(PlayVod_qualities[PlayVod_qualityIndex].id); + if (PlayVod_qualities[PlayVod_qualityIndex]) { + Play_qualityTitleReset(PlayVod_qualities[PlayVod_qualityIndex].id); + } } function PlayVod_SetHtmlQuality(element) { @@ -27046,8 +27302,9 @@ if (Main_IsOn_OSInterface) { quality_string = PlayVod_quality.replace('Auto', STR_AUTO); } else { - if (Play_info_quality !== element) quality_string = PlayVod_quality.replace('Auto', STR_AUTO); - else { + if (Play_info_quality !== element) { + quality_string = PlayVod_quality.replace('Auto', STR_AUTO); + } else { quality_string = PlayVod_qualities[1].id.replace('source', STR_AUTO) + PlayVod_qualities[1].band + PlayVod_qualities[1].codec; } } @@ -36415,6 +36672,9 @@ // }; var Settings_VolumeScale = 5; + var Settings_AV1Supported = 0; + var Settings_HEVCSupported = 0; + var Settings_value = { content_lang: { values: [ @@ -36484,6 +36744,20 @@ values: ['no', 'yes'], defaultValue: 2 }, + av1_codec: { + //Migrated to dialog + values: ['no', 'yes'], + defaultValue: 1 + }, + hevc_codec: { + //Migrated to dialog + values: ['no', 'yes'], + defaultValue: 1 + }, + speed_adjust: { + values: ['no', 'yes'], + defaultValue: 1 + }, ttv_lolProxy: { //Migrated to dialog values: ['no', 'yes'], @@ -36752,7 +37026,7 @@ defaultValue: 3 }, default_quality: { - values: ['Auto', 'source', '1080p60', '1080p30', '720p60', '720p30', '480p30', '360p30', '160p30'], + values: ['Auto', 'source', '2160p60', '1440p60', '1080p60', '1080p30', '720p60', '720p30', '480p30', '360p30', '160p30'], defaultValue: 1 }, check_source: { @@ -36827,6 +37101,11 @@ set_values: [''], defaultValue: 1 }, + player_extracodecs: { + values: ['None'], + set_values: [''], + defaultValue: 1 + }, player_bitrate: { values: ['None'], set_values: [''], @@ -36994,6 +37273,11 @@ values: ['no', 'yes'], defaultValue: 1 }, + block_qualities_43: { + //Migrated to dialog + values: ['enabled', 'disabled'], + defaultValue: 1 + }, block_qualities_21: { //Migrated to dialog values: ['enabled', 'disabled'], @@ -37238,15 +37522,23 @@ Settings_value[key].values[1] = STR_SOURCE; div += Settings_Content('default_quality', Settings_value[key].values, STR_DEF_QUALITY, STR_DEF_QUALITY_SUMMARY); + key = 'speed_adjust'; + Settings_value[key].values[0] = STR_AUTO; + Settings_value[key].values[1] = STR_SOURCE; + div += Settings_Content('speed_adjust', dis_ena, STR_SPEED_ADJUST, STR_SPEED_ADJUST_SUMMARY); + //Dialog settings //div += Settings_Content('proxy_settings', [STR_ENTER_TO_OPEN], PROXY_SETTINGS, null); - div += Settings_Content('player_bitrate', [STR_ENTER_TO_OPEN], STR_PLAYER_BITRATE, STR_PLAYER_BITRATE_SUMMARY); - div += Settings_Content('block_qualities', [STR_ENTER_TO_OPEN], STR_BLOCK_RES, STR_BLOCK_RES_SUMMARY); + div += Settings_Content('player_extracodecs', [STR_ENTER_TO_OPEN], STR_PLAYER_EXTRA_CODEC, STR_PLAYER_EXTRA_CODEC_SUMMARY); div += Settings_Content('blocked_codecs', [STR_ENTER_TO_OPEN], STR_BLOCKED_CODEC, STR_BLOCKED_CODEC_SUMMARY); + + div += Settings_Content('block_qualities', [STR_ENTER_TO_OPEN], STR_BLOCK_RES, STR_BLOCK_RES_SHORT_SUMMARY); + div += Settings_Content('player_bitrate', [STR_ENTER_TO_OPEN], STR_PLAYER_BITRATE, STR_PLAYER_BITRATE_SHORT_SUMMARY); + div += Settings_Content('preview_settings', [STR_ENTER_TO_OPEN], STR_SIDE_PANEL_PLAYER, null); div += Settings_Content('vod_seek', [STR_ENTER_TO_OPEN], STR_VOD_SEEK, null); div += Settings_Content('playerend_opt', [STR_ENTER_TO_OPEN], STR_END_DIALOG_OPT, null); - div += Settings_Content('player_buffers', [STR_ENTER_TO_OPEN], STR_SETTINGS_BUFFER_SIZE, STR_SETTINGS_BUFFER_SIZE_SUMMARY); + div += Settings_Content('player_buffers', [STR_ENTER_TO_OPEN], STR_SETTINGS_BUFFER_SIZE, STR_SETTINGS_BUFFER_SIZE_SHORT_SUMMARY); Main_innerHTML('settings_main', div); Settings_positions_length = Settings_value_keys.length; @@ -37374,6 +37666,7 @@ } Settings_SetBuffers(0); + Settings_ExtraCodecs(false); Settings_SetClock(); Settings_HideMainClock(); Settings_HidePlayerClock(); @@ -37407,6 +37700,7 @@ Settings_set_proxy_timeout(); Settings_set_all_notification(); Settings_SetLang(); + Settings_SetSpeed_adjust(); Settings_SetResBitRate(0); @@ -37640,8 +37934,10 @@ else if (position === 'key_up_timeout') Screens_KeyUptimeout = Settings_Obj_values('key_up_timeout'); else if (position === 'buffer_vod') Settings_SetBuffers(2); else if (position === 'buffer_clip') Settings_SetBuffers(3); + else if (position === 'av1_codec' || position === 'hevc_codec') Settings_ExtraCodecs(true); else if (position === 'end_dialog_counter') Play_EndSettingsCounter = Settings_Obj_default('end_dialog_counter'); else if (position === 'default_quality') Play_SetQuality(); + else if (position === 'speed_adjust') Settings_SetSpeed_adjust(); else if (position === 'seek_preview') PlayVod_SetPreviewType(); else if (position === 'check_source') OSInterface_SetCheckSource(Settings_Obj_default('check_source') === 1); else if (position === 'thumb_quality') Main_SetThumb(); @@ -37682,6 +37978,7 @@ else if (position === 'vod_seek_max') Settings_check_max_seek(); else if (position === 'auto_minimize_inactive') Settings_SetAutoMinimizeTimeout(); else if ( + position === 'block_qualities_43' || position === 'block_qualities_21' || position === 'block_qualities_16' || position === 'block_qualities_14' || @@ -38087,6 +38384,36 @@ OSInterface_SetSmallPlayerBitrate(bitrate, resolution); } + function Settings_SetSpeed_adjust() { + OSInterface_setSpeedAdjustment(Settings_Obj_default('speed_adjust')); + } + + function Settings_ExtraCodecs(showWarning) { + var ExtraCodecsValuesArray = [], + av1Enabled = Settings_Obj_default('av1_codec'), + hevcEnabled = Settings_Obj_default('hevc_codec'); + + if (av1Enabled) { + ExtraCodecsValuesArray.push('av1'); + + if (!Settings_AV1Supported && showWarning) { + Main_showWarningDialog(STR_PLAYER_CODEC_NOT_SUPPORTED, 3000); + } + } + + if (hevcEnabled) { + ExtraCodecsValuesArray.push('h265'); + + if (!Settings_HEVCSupported && showWarning) { + Main_showWarningDialog(STR_PLAYER_CODEC_NOT_SUPPORTED, 3000); + } + } + + ExtraCodecsValuesArray.push('h264'); + + play_ExtraCodecsValues = ExtraCodecsValuesArray.join(','); + } + function Settings_SetBuffers(whocall) { if (!whocall) { Play_Buffer = Settings_Obj_values('buffer_live') * 1000; @@ -38173,7 +38500,15 @@ var Settings_CurY = 0; function Settings_ScrollDown() { - var doc = Main_getElementById('settings_scroll'); + Settings_Do_ScrollDown('settings_scroll'); + } + + function Settings_ScrollUp() { + Settings_Do_ScrollUp('settings_scroll'); + } + + function Settings_Do_ScrollDown(docId) { + var doc = Main_getElementById(docId); doc.scrollTop = doc.scrollHeight; if (Settings_Obj_default('app_animations')) { var position = doc.scrollTop; @@ -38182,15 +38517,15 @@ } } - function Settings_ScrollUp() { - var doc = Main_getElementById('settings_scroll'); + function Settings_Do_ScrollUp(docId) { + var doc = Main_getElementById(docId); if (Settings_Obj_default('app_animations')) scrollTo(doc, 0, 200); else doc.scrollTop = 0; } function Settings_ScrollTable() { var scroolPos = 14, - offset = !Main_isTV || !Main_IsOn_OSInterface ? 1 : 0; + offset = 0; //!Main_isTV || !Main_IsOn_OSInterface ? 1 : 0; if (Settings_CurY < Settings_cursorY && Settings_cursorY === scroolPos + offset) { Settings_ScrollDown(); @@ -38291,6 +38626,7 @@ if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'playerend_opt')) Settings_PlayerEnd(click); else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'blocked_codecs')) Settings_CodecsShow(click); else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'player_buffers')) Settings_DialogShowBuffer(click); + else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'player_extracodecs')) Settings_DialogShowExtraCodecs(click); else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'player_bitrate')) Settings_DialogShowBitrate(click); else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'proxy_settings')) Settings_DialogShowProxy(click); else if (Main_A_includes_B(Settings_value_keys[Settings_cursorY], 'vod_seek')) Settings_vod_seek(click); @@ -38323,10 +38659,26 @@ DivContent, spacer = ' | '; - dialogContent += STR_CODEC_DIALOG_TITLE + STR_BR + STR_DIV_TITLE + STR_SUPPORTED_CODEC + '' + STR_BR; + dialogContent += + STR_DIV_TITLE + + STR_BLOCKED_CODEC + + '' + + STR_BR + + STR_CODEC_DIALOG_SUMMARY_1 + + STR_BR + + STR_BR + + STR_CODEC_DIALOG_SUMMARY_2 + + STR_BR + + STR_BR + + STR_CODEC_DIALOG_SUMMARY_3 + + STR_BR + + STR_BR; var i = 0, len = Settings_CodecsValue.length; + + dialogContent += + '
'; for (i; i < len; i++) { Settings_value[Settings_CodecsValue[i].name] = { values: [STR_ENABLED, STR_DISABLED], @@ -38342,11 +38694,12 @@ dialogContent += Settings_DivOptionWithSummary( Settings_CodecsValue[i].name, - Settings_CodecsValue[i].name, + Settings_CodecsValue[i].name + Settings_decoderType(Settings_CodecsValue[i].type), DivContent + STR_BR + STR_BR, 73 ); } + dialogContent += '
'; Main_innerHTML('dialog_codecs_text', dialogContent + STR_DIV_TITLE + (click ? STR_CLOSE_THIS_BROWSER : STR_CLOSE_THIS) + ''); Settings_CodecsDialogSet = true; @@ -38364,21 +38717,36 @@ Main_addEventListener('keydown', Settings_handleKeyDownCodecs); } + function Settings_decoderType(codec) { + if (Main_A_includes_B(codec, 'avc')) return ' - AVC H.264'; + else if (Main_A_includes_B(codec, 'hevc')) return ' - HEVC H.265'; + else if (Main_A_includes_B(codec, 'av01')) return ' - AV1'; + + return ''; + } + function Settings_handleKeyDownReturn() { Settings_RemoveInputFocusKey(Settings_CodecsValue[Settings_CodecsPos].name); Main_HideElement('dialog_codecs'); Main_removeEventListener('keydown', Settings_handleKeyDownCodecs); Main_addEventListener('keydown', Settings_handleKeyDown); + Main_getElementById('settings_codec_container_scroll').style.transform = ''; } function Settings_handleKeyDownCodecsLeft() { var key = Settings_CodecsValue[Settings_CodecsPos].name; - if (Settings_Obj_default(key) > 0) Settings_CodecsRightLeft(-1); + + if (Settings_Obj_default(key) > 0) { + Settings_CodecsRightLeft(-1); + } } function Settings_handleKeyDownCodecsRight() { var key = Settings_CodecsValue[Settings_CodecsPos].name; - if (Settings_Obj_default(key) < Settings_Obj_length(key)) Settings_CodecsRightLeft(1); + + if (Settings_Obj_default(key) < Settings_Obj_length(key)) { + Settings_CodecsRightLeft(1); + } } function Settings_handleKeyDownCodecs(event) { @@ -38396,16 +38764,37 @@ Settings_handleKeyDownCodecsRight(); break; case KEY_UP: - if (Settings_CodecsPos > 0) Settings_CodecsUpDown(-1); + if (Settings_CodecsPos > 0) { + Settings_CodecsUpDown(-1); + + Settings_ScrollCodecs(Settings_CodecsPos); + } break; case KEY_DOWN: - if (Settings_CodecsPos < Settings_CodecsValue.length - 1) Settings_CodecsUpDown(1); + if (Settings_CodecsPos < Settings_CodecsValue.length - 1) { + Settings_CodecsUpDown(1); + + Settings_ScrollCodecs(Settings_CodecsPos); + } break; default: break; } } + function Settings_ScrollCodecs(pos) { + var center = 3, + doc = Main_getElementById('settings_codec_container_scroll'), + value = 0, + offset = 0; + + if (pos > center) { + value = Main_getElementById(Settings_CodecsValue[pos - center - offset].name).offsetTop; + } + + doc.style.transform = 'translateY(-' + value / BodyfontSize + 'em)'; + } + function Settings_Codecs_isVisible() { return Main_isElementShowing('dialog_codecs'); } @@ -38423,20 +38812,17 @@ } function Settings_CodecsRightLeft(offset) { - if (Settings_CodecsValue.length < 2) { - Main_showWarningDialog(STR_ONE_CODEC_ENA, 2000); + if (Settings_CodecsValue.length === 1) { + Main_showWarningDialog(STR_CODEC_DIALOG_SUMMARY_3, 2000); return; } var key = Settings_CodecsValue[Settings_CodecsPos].name, + type = Settings_CodecsValue[Settings_CodecsPos].type, index; Settings_value[key].defaultValue += offset; - Main_setItem(key, Settings_Obj_default(key)); - Main_textContent(key, Settings_Obj_values(key)); - Settings_SetarrowsKey(key); - if (Settings_value[key].defaultValue) { Settings_DisableCodecsNames.push(key); @@ -38446,35 +38832,35 @@ len = Settings_CodecsValue.length; for (i; i < len; i++) { - if (!Settings_value[Settings_CodecsValue[i].name].defaultValue) { + if (type === Settings_CodecsValue[i].type && !Settings_value[Settings_CodecsValue[i].name].defaultValue) { oneEnable = true; break; } } if (!oneEnable) { - Main_showWarningDialog(STR_ONE_CODEC_ENA, 2000); + Main_showWarningDialog(STR_CODEC_DIALOG_SUMMARY_3, 2000); - i = 0; - len = Settings_CodecsValue.length; - for (i; i < len; i++) { - if (Settings_CodecsPos !== i) { - key = Settings_CodecsValue[i].name; - Settings_value[key].defaultValue += -1; - Main_setItem(key, Settings_Obj_default(key)); - Main_textContent(key, Settings_Obj_values(key)); - index = Settings_DisableCodecsNames.indexOf(Settings_CodecsValue[i].name); - if (index > -1) Settings_DisableCodecsNames.splice(index, 1); + key = Settings_CodecsValue[Settings_CodecsPos].name; + Settings_value[key].defaultValue += -1; + index = Settings_DisableCodecsNames.indexOf(Settings_CodecsValue[Settings_CodecsPos].name); - break; - } + if (index > -1) { + Settings_DisableCodecsNames.splice(index, 1); } } } else { index = Settings_DisableCodecsNames.indexOf(key); - if (index > -1) Settings_DisableCodecsNames.splice(index, 1); + + if (index > -1) { + Settings_DisableCodecsNames.splice(index, 1); + } } + Main_setItem(key, Settings_Obj_default(key)); + Main_textContent(key, Settings_Obj_values(key)); + Settings_SetarrowsKey(key); + Main_setItem('Settings_DisableCodecsNames', JSON.stringify(Settings_DisableCodecsNames)); Settings_CodecsSet(); } @@ -38512,52 +38898,120 @@ if (!Main_IsOn_OSInterface) { // Settings_CodecsValue = [ // { - // "instances": 32, - // "maxbitrate": "120 Mbps", - // "maxlevel": "5.2", - // "maxresolution": "3840x2176", - // "name": "OMX.Nvidia.h264.decode", - // "resolutions": "160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps", - // "type": "video/avc" + // instances: 32, + // maxbitrate: '120 Mbps', + // maxlevel: '5.2', + // maxresolution: '3840x2176', + // name: 'OMX.Nvidia.h264.decode', + // resolutions: '160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps', + // type: 'video/avc' // }, // { - // "instances": 32, "maxbitrate": "48 Mbps", - // "maxlevel": "5.2", - // "maxresolution": "4080x4080", - // "name": "OMX.google.h264.decoder", - // "resolutions": "160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps", - // "type": "video/avc" + // instances: 32, + // maxbitrate: '48 Mbps', + // maxlevel: '5.2', + // maxresolution: '4080x4080', + // name: 'OMX.google.h264.decoder', + // resolutions: '160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps', + // type: 'video/avc' // }, // { - // "instances": -1, "maxbitrate": "48 Mbps", - // "maxlevel": "5.2", - // "maxresolution": "4080x4080", - // "name": "OMX.chico.h264.decoder", - // "resolutions": "160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps", - // "type": "video/avc" + // instances: -1, + // maxbitrate: '48 Mbps', + // maxlevel: '5.2', + // maxresolution: '4080x4080', + // name: 'OMX.chico.h264.decoder', + // resolutions: '160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps', + // type: 'video/avc' + // }, + // { + // instances: 32, + // maxbitrate: '120 Mbps', + // maxlevel: 'High 5.2', + // maxresolution: '4096x4096', + // name: 'c2.goldfish.hevc.decoder', + // resolutions: + // '160p : 480 fps | 360p : 480 fps | 480p : 480 fps | 720p : 480 fps | 900p : 364 fps | 1080p : 254 fps | 1440p : 144 fps | 2160p : 64 fps', + // type: 'video/hevc' + // }, + // { + // instances: 32, + // maxbitrate: '10 Mbps', + // maxlevel: 'High 5.2', + // maxresolution: '4096x4096', + // name: 'c2.android.hevc.decoder', + // resolutions: + // '160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps', + // type: 'video/hevc' + // }, + // { + // instances: 32, + // maxbitrate: '10 Mbps', + // maxlevel: 'High 5.2', + // maxresolution: '4096x4096', + // name: 'OMX.google.hevc.decoder', + // resolutions: + // '160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps', + // type: 'video/hevc' + // }, + // { + // instances: 32, + // maxbitrate: '40 Mbps', + // maxlevel: '32768', + // maxresolution: '2048x2048', + // name: 'c2.android.av1.decoder', + // resolutions: '160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps', + // type: 'video/av01' // } // ]; Settings_CodecsValue = JSON.parse( - '[{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"5.2","maxresolution":"3840x2176","name":"OMX.Nvidia.h264.decode","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps","type":"video/avc"},{"instances":32,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.google.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":-1,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.chico.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"}]' + '[{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"5.2","maxresolution":"3840x2176","name":"OMX.Nvidia.h264.decode","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 555 fps | 1080p : 245 fps | 1440p : 138 fps | 2160p : 61 fps","type":"video/avc"},{"instances":32,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.google.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":-1,"maxbitrate":"48 Mbps","maxlevel":"5.2","maxresolution":"4080x4080","name":"OMX.chico.h264.decoder","resolutions":"160p : 960 fps | 360p : 960 fps | 480p : 960 fps | 720p : 546 fps | 1080p : 240 fps | 1440p : 136 fps | 2160p : 60 fps","type":"video/avc"},{"instances":32,"maxbitrate":"120 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.goldfish.hevc.decoder","resolutions":"160p : 480 fps | 360p : 480 fps | 480p : 480 fps | 720p : 480 fps | 900p : 364 fps | 1080p : 254 fps | 1440p : 144 fps | 2160p : 64 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"c2.android.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"10 Mbps","maxlevel":"High 5.2","maxresolution":"4096x4096","name":"OMX.google.hevc.decoder","resolutions":"160p : 960 fps | 360p : 741 fps | 480p : 417 fps | 720p : 139 fps | 900p : 88 fps | 1080p : 62 fps | 1440p : 35 fps | 2160p : 15 fps","type":"video/hevc"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.android.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.google.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c2.test.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"},{"instances":32,"maxbitrate":"40 Mbps","maxlevel":"32768","maxresolution":"2048x2048","name":"c.test2.av1.decoder","resolutions":"160p : 960 fps | 360p : 356 fps | 480p : 205 fps | 720p : 68 fps | 900p : 43 fps | 1080p : 30 fps","type":"video/av01"}]' ); } else { try { Settings_CodecsValue = JSON.parse(OSInterface_getcodecCapabilities('avc')); + + Settings_CodecsValue.push.apply(Settings_CodecsValue, JSON.parse(OSInterface_getcodecCapabilities('hevc'))); + Settings_CodecsValue.push.apply(Settings_CodecsValue, JSON.parse(OSInterface_getcodecCapabilities('av01'))); } catch (e) { Settings_CodecsValue = []; } } + + try { + //keep inside a try to avoid any device issues crashing the app + Settings_SetSuportedCodecs(Settings_CodecsValue); + } catch (e) { + Settings_CodecsValue = []; + } + } + + function Settings_SetSuportedCodecs(codecs) { + var i = 0, + len = codecs.length; + + for (i; i < len; i++) { + if (Main_A_includes_B(codecs[i].type, 'hevc')) Settings_HEVCSupported = true; + if (Main_A_includes_B(codecs[i].type, 'av01')) Settings_AV1Supported = true; + + if (Settings_HEVCSupported && Settings_AV1Supported) { + break; + } + } } function Settings_QualitiesCheck() { Settings_DisableQualities = []; - var array_values = ['21', '16', '14', '10', '9', '7', '4', '3'], + var array_values = ['43', '21', '16', '14', '10', '9', '7', '4', '3'], + array_blocked_values = ['4200-4600', '1700-2200', '1500-1700', '1400-1500', '1000-1100', '900-1000', '700-800', '400-500', '300-400'], i = 0, len = array_values.length; for (i; i < len; i++) { - if (Settings_Obj_default('block_qualities_' + array_values[i])) Settings_DisableQualities.push(array_values[i]); + if (Settings_Obj_default('block_qualities_' + array_values[i])) { + Settings_DisableQualities.push(array_blocked_values[i]); + } } Settings_DisableQualitiesLen = Settings_DisableQualities.length; @@ -38570,7 +39024,9 @@ } function Settings_Qualities() { - if (Main_IsOn_OSInterface) OSInterface_setBlackListQualities(Settings_DisableQualities.join()); + if (Main_IsOn_OSInterface) { + OSInterface_setBlackListQualities(Settings_DisableQualities.join()); + } } function Settings_ForceEnableAnimations() { @@ -38640,6 +39096,64 @@ Settings_DialogShow(obj, PROXY_SETTINGS + STR_BR + STR_BR + PROXY_SETTINGS_SUMMARY, click); } + function Settings_DialogShowExtraCodecs(click) { + var dis_ena = [STR_DISABLED, STR_ENABLED]; + Settings_value.av1_codec.values = dis_ena; + Settings_value.hevc_codec.values = dis_ena; + + var obj = { + hevc_codec: { + defaultValue: Settings_value.hevc_codec.defaultValue, + values: Settings_value.hevc_codec.values, + title: STR_SPACE_HTML + STR_SPACE_HTML + STR_SPACE_HTML + STR_SPACE_HTML + STR_PLAYER_CODEC_HEVC + }, + + av1_codec: { + defaultValue: Settings_value.av1_codec.defaultValue, + values: Settings_value.av1_codec.values, + title: STR_SPACE_HTML + STR_SPACE_HTML + STR_SPACE_HTML + STR_SPACE_HTML + STR_PLAYER_CODEC_AV1 + } + }; + + var red = '#ec0000', + green = '#00c900'; + + Settings_DialogShow( + obj, + STR_DIV_TITLE + + STR_PLAYER_EXTRA_CODEC + + '' + + STR_BR + + STR_PLAYER_EXTRA_CODEC_SUMMARY + + STR_BR + + STR_BR + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA + + STR_BR + + STR_BR + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA3 + + STR_BR + + STR_BR + + STR_PLAYER_EXTRA_CODEC_SUMMARY_EXTRA2 + + STR_BR + + STR_BR + + '
HEVC -' + + STR_SPACE_HTML + + (Settings_HEVCSupported ? STR_PLAYER_CODEC_SUPPORTED : STR_PLAYER_CODEC_NOT_SUPPORTED) + + STR_BR + + STR_BR + + ' AV1 -' + + STR_SPACE_HTML + + (Settings_AV1Supported ? STR_PLAYER_CODEC_SUPPORTED : STR_PLAYER_CODEC_NOT_SUPPORTED) + + '
', + click + ); + } + function Settings_DialogShowBitrate(click) { Settings_value.res_max.values[0] = STR_PLAYER_BITRATE_UNLIMITED; Settings_value.res_min.values[0] = STR_PLAYER_BITRATE_UNLIMITED; @@ -39263,6 +39777,7 @@ function Settings_block_qualities(click) { var array_ena_dis = [STR_BLOCKED_NOT, STR_BLOCKED]; + Settings_value.block_qualities_43.values = array_ena_dis; Settings_value.block_qualities_21.values = array_ena_dis; Settings_value.block_qualities_16.values = array_ena_dis; Settings_value.block_qualities_14.values = array_ena_dis; @@ -39273,22 +39788,28 @@ Settings_value.block_qualities_3.values = array_ena_dis; var obj = { + block_qualities_43: { + defaultValue: Settings_value.block_qualities_43.defaultValue, + values: Settings_value.block_qualities_43.values, + title: '42XXp to 46XXp 8k', + summary: null + }, block_qualities_21: { defaultValue: Settings_value.block_qualities_21.defaultValue, values: Settings_value.block_qualities_21.values, - title: '21XXp', + title: '17XXp to 22XXp 4k', summary: null }, block_qualities_16: { defaultValue: Settings_value.block_qualities_16.defaultValue, values: Settings_value.block_qualities_16.values, - title: '16XXp', + title: '15XXp to 17XXp 2.5k', summary: null }, block_qualities_14: { defaultValue: Settings_value.block_qualities_14.defaultValue, values: Settings_value.block_qualities_14.values, - title: '14XXp', + title: '14XXp 2k', summary: null }, block_qualities_10: { @@ -39397,10 +39918,14 @@ Settings_DialoghandleKeyRight(); break; case KEY_UP: - if (Settings_DialogPos > 0) Settings_DialogUpDown(-1); + if (Settings_DialogPos > 0) { + Settings_DialogUpDown(-1); + } break; case KEY_DOWN: - if (Settings_DialogPos < Settings_DialogValue.length - 1) Settings_DialogUpDown(1); + if (Settings_DialogPos < Settings_DialogValue.length - 1) { + Settings_DialogUpDown(1); + } break; default: break; diff --git a/release/githubio/version/version.json b/release/githubio/version/version.json index 4d1de7ea6..ed40893f3 100755 --- a/release/githubio/version/version.json +++ b/release/githubio/version/version.json @@ -1 +1 @@ -{"VersionBase":"3.0","publishVersionCode":363,"ApkUrl":"https://github.com/fgl27/SmartTwitchTV/releases/download/363/SmartTV_twitch_3_0_363.apk","WebVersion":"July 2024","WebTag":679,"changelog":[{"title":"Version March to July 2024 Apk Version 3.0.363","changes":["Add a red icon when the channel is live for the User channel and channel search screen","Improve User live side panel loading","Improve User channel screen loading","Player: Migrate from Exoplayer to Media3, the Exoplayer changed its name to Media3 and stop received updates on the old project, if anyone has any issue regarding playback please open a GitHub issue or send an email","Change Featured to Front Page (name change only)","Add User Videos section","Improve channel search results order, Twitch provides no order on the result, do a local ordering to show a more constant result","Add search Live","Add Search Videos","Show all counters on all game screens","Fix sometimes opening the wrong VOD for \"Open the Last VOD\" (the one of the options that show when a live end)","Fix preview animated image not always showing","Fix VOD seek preview image not always showing","Improve exiting a search or search content as Channel content you enter after a search, before the app sometimes exit a search on the wrong section","Improve app exit functionality","Improve disable mature content with a password, now after enabling mature the old pass will be deleted, add a new one if disable again","General app text improves, this is an open source app anyone that wanna improve app text or add translations can the process is simple","Other General improvements"]}]} \ No newline at end of file +{"VersionBase":"3.0","publishVersionCode":365,"ApkUrl":"https://github.com/fgl27/SmartTwitchTV/releases/download/365/SmartTV_twitch_3_0_365.apk","WebVersion":"August 2024","WebTag":671,"changelog":[{"title":"Version August 2024 Apk Version 3.0.365","changes":["Add support for HEVC H.265 and AV1 Live and VOD (Settings Extra codec support), it still depends on the streamer to use and is on beta testing only some can","Update Codec capability & Blocked codecs settings section to support new codecs and to show better information","Improve display and sorting for player quality, sometimes it can come out of order from the server or have missing information","Fix Auto quality not playing stream with a resolution bigger than the device's current resolution","Home screen content will no longer show blocked content","Add new settings option \"Catch-up with low latency\" auto-adjust the latency if it is behind the expected target, by slowing or speeding the stream by 1%","Improve progress bar for lives playback, show proper duration if paused for too long","General app text improves, this is an open source app anyone that wanna improve app text or add translations can the process is simple","Other General improvements"]}]} \ No newline at end of file diff --git a/release/index.html b/release/index.html index b47d78233..41f3574b8 100644 --- a/release/index.html +++ b/release/index.html @@ -1 +1 @@ -SmartTV Twitch
dsds
Text
counter 1 2 ...
 
 
 
\ No newline at end of file +SmartTV Twitch
dsds
Text
counter 1 2 ...
 
 
 
\ No newline at end of file