From ac360f2776a73d6f89b1892c31a50da1fdfa9bf7 Mon Sep 17 00:00:00 2001 From: Toil <62353659+ilyhalight@users.noreply.github.com> Date: Thu, 26 Sep 2024 02:43:23 +0300 Subject: [PATCH] updated to vot.js 1.3.1 --- bun.lockb | Bin 376377 -> 375655 bytes changelog.md | 2 +- dist/vot-min.user.js | 2 +- dist/vot.user.js | 16 +- package-lock.json | 949 ++---------------- package.json | 2 +- ... => vot.js+1.3.1+007+added-coursera.patch} | 4 +- yarn.lock | 400 ++------ 8 files changed, 155 insertions(+), 1220 deletions(-) rename patches/{vot.js+1.3.0+007+added-coursera.patch => vot.js+1.3.1+007+added-coursera.patch} (99%) diff --git a/bun.lockb b/bun.lockb index 48d70064e08882d171af6bc29095594a0c345bb1..3d238f88e6bcff76deee1ddd4e3db6029cf04b64 100644 GIT binary patch delta 73891 zcmeFa51dug{{Mf@nT}>l|4W5ZQYJMLGXI)0P5PgxNYj5)otmj;rkQDKX2{G?6oqVA zh0rC6o5bz*hY+F=LKH&Ws7se9YMAT$eC@qXH?Dg>-|z3=__i;t@m@Sz5egD z*FI-vx8dhgzx?6U+t2IpPUMvLUd#Qw{%x7fMi01Q@uACieE9t>JvyDW>7!v6cbxq| zxA!-O13DHg9Cl{?-Pgx?j{oD-g-cIA?N~4nXc7oi{uQl*E<>B5cZL?e-M%7JI}oUk zckHA3CCwyf)GITZp`uE&>VPoCj5uB0e8 zadL4WFs&rNY<$6l=qPHd^LwDDp%@Rjeg zjs5g%QT0&FcZsiG0l0wxWmguWs%cl+rxV|z-_?a_{7`|>;_=y2vnNDfgsZ^Ss9O9W zs`Mi`UtQZBRS&Fg9tcoo<=rSrDtj{y%4asd@_ik@LK$TP+M+$sGtpCRMd~nMYSFc5 z0-69PN##pt_+z;WRe^U|%|iKCIh`M8p$_Sl{|^kIDsrfm@6Rmur{_K4K!sP6SQr0x zjF-3ePmGOiM|=%YY!1ZuC)8R!@Gh$OXf$zRZc*{{ylCD;l{LM1YVJ7nL29LRZD_5A z;*PWEe}=pAS|ZdX({pn3C*?+qe2s!KkDqehDkjuilfEXCHg1ES~MX#%{%|QPHt+reMMzwe~#Tq zHkxaV&-XQis-uf?^NOu#3%PuZ{6kj9L$?DY?_#L_yRejr9 ze%Xb7dooeAH}xX#yo$=Y1XS=os~?a+9WkS;KUb%qb@1;aUOM(-KZD0noo6%pkNL#T z|02n+P%Iz6+-`x&Sb>eHsjlkUDSkmeC;K`xCwF`fEzd2EmPXNAiPw}Fo9f-I9nZ(^jZXdOY1ZS_8hy^b_ntbwYca@aZ0YMtd^+?z`j?zo2nN z+2f-Xm#ajdX(=NEwZ%;c^9nIaOU}kzziB^a`C4a$-?Xpsl}&bjSzh+^@j2hs@+)`NNWa+WIVJg1 zm;{CRD*h`}x2I1?r#8Qbs+!wSRr4WKeO`>R&R0fJy0oHlC#$^@%*>rSVSIMcgo#tL zr)y61ALD0Sd#oQnB{zRUV!_0~QMh_3m-T&ebo}(Z-05EWsRa|Vi@DY}lHcjXzj3wS zfcMEu1)p#q^zJ_XT&`6d7}UqTzE1m!XU6*th;0zMa-RA-wlRqL|7k<;+l@nPqY&Gp z<=gy+qfN=TH>!@h2&I0fRkkIdN!1Kh!C%lAjX-BN^OR=8zsvQ#FRe~XoLVqGdwLYj zr3(Vn5~q9DWIfJSzsI(SMbYs&1-V55uG@mCGopc3Q~hm66IA1NlDp=VW|_Zj^lx`N zvCYK`bc)U@=I%i-U<&-fsdR&NlTzL&^vf=u>WxI8IGQ&@+t}EBrYw8v)ZF6ff#2Sj z#=C`en^pYwF7yDys%&d6SC^@^dGaah`vdpIDq2EuCJJy?&DWC|H*xri;dzg=d> z=O$9Og24Ek?5R_zP;9fCzjm?wg+32PUqdp`Rci{>^%A_5SU%* z`>}>;P>L!p2n7D8`*BT`-;&sUId(rTnmB=J7YLLQuOU0@247?QfLOZbmRF-%PYd#+ z({&5Del{zCz$rwi#!cqhz@a^F1vgxAp1i1-VtWp(8|_t6IDRg7EccWjo`W_S30U8_^0GrVh~hIrkPCPY~v zxH10?U*+^ewRonZs%LYw9Xh!<(VHCEMU%X}=*e)6$1k`0{gXQ>zo00}9Q^^Hj?_LP zdunkY@h;zw-7Y3-l`feU_)p8!LgQ!n1^K9gXD#*{5L*)Hb1v6F;B~mBtnLQWqZ0zr z;*#mPQ{DF(HmZ1sQ+0KGwZtzv_UQK^0fRh2e&<1E1u1{5{9jZ?4 zoa^h`_*zG@AMh*MiS!zTdZ;q~?L+dCWq!InsM?FLJ9IpHp%A zV}7NIq7$<A?nxTX68=x7eDsZule~I)ea4P3F zLJjFP)raD1xZK~D!Jp%Os+=q&ylcJ?t@Kw-i^i=eY^}c@) zRg0IyHEl|5d=AmefM$2dXn(qOqC0kMT z#8XxuL{&f$stG&-RSUjh2Y~q44Ml7z7)U{C`NgQ>TUr10<$i%lulg-K z7gg7v@|vH%8NMp$psH~F*Zqo2d%ePM(FA~6I26^`rEK>L$S#d0^4VPUr)~a;htQLW zUr&LW3(lK9zYW#-H=>%f+JbZq1Oh+3;m7YsRe{+3W;?!y@`(xpx}mHjLlwLbRSVs> z`S<~C^NzpG8;LL86ki4D;vQEP2xPtMUj>(=DmX7%G%0#PATS}f$a_ZYv(x9tw{qmu znskMfBdwV8p5JA~HsZGh<`Az6#wrx6;21Jci+*~@ufX090)aO8zuhBt+U+lr6F>Cl z!V9E3lXO#18eDPw4%8K(mNoj=PuO;k|9RMtsJd#De?sNWsOH3zpZJq1cFT_4He$Os z|D($6NwGc4Z$GohBp>f#xtxG5ugQE+GoCSvefVlWY(4&2YrL(<*B|+-^(xNOWW5J% zgkFZ$LnlS^i_3UQh|Pf)=z;U#AMEpcq7nXS_>0g)=3ixh0_wW?U;1M_1^-<9OX*@| z{N#TBlf+98_(PQjR}VaKBoG*g7NHSz*pGq01?bdo1Az``zkdV*?a{8pr=vmiBJ|Yi zK%gVK0j=;R(@(7XfZnJovgBv~*)AVd!ZdgtG}c3%@HJWMqb<=es;grAVZVTPzYheu z;NOjZAvy^Ed^87N75whIK%g_aG#IS#T3SCY=-mJ}g@S=jL>xd>^NZ~XVN@Bu`?bH# znHl!uXPgxD=Ej4zz&5BdZXX{EB%?1;kh=aZs~Zma4a%{8+IRGSA_=~v%hcudiBJXp zW)t3qibt)+f8+O5(O3TDOtXA1U9BE$X#HpH5G=BKiPg4tNKVI3ApQ3hWT?PvRv)qj z%(8lw)y`I*wizt4dM6cW%lQS?uQ}+C`TJI%MB5R+z-o@wORQG3vVmi^Yo9>1@XWWG zW3?UyX>Rnieru~WwgP`SBj{ZXXS57@S3wTinDigm_;pqXp=ZH6qvXfa+L``Xp4vL- zO{#zV-CvpBu(}%6g0T?QZmZbpRj4Lk4Oc}yG{yR7qfPNo<0?^w`~$J7Z(AxsQ%+#>^qQ`+6TSMFt)#1kADj3qxpp;xkb^Ua6-_# zIx;y|OK|Kf5r)M(?}uCOoKdxK(+_9;(q!5zcND%o_qzM~Tz3A;4~=bg_kG)+N^F^S zO8oupDm!(Y6CL+dPKPTSxYwq33l#_5jj56F=3pR@>~2a;3)Xd0(lSC(updH0C3sE%K&I5#sRDfCGlx4L^I z9HGa0yXhHeq1mUn<(U!Z6Mz=2kXx0Oy>+YtHObcG*mh~c0Lw94Zh_j(#AaJpt+ixrA zd_!ES7Z*%T3U+We^v(!PY~)t=jyOvj1p+;Ys^zuhlSXcNpNNymb)hzR&2vid)K~_p zXOgoOuUqT{rxx>4IeVu&5j@3_lGc{v^~MXjReh2|&o^;X`$d9|Th=clG_`K6KYjey<)&Tc|}F-*pA)6)WhtHr}5gtENQc0v(% z6D;BMK;TM`Jw#}-7piv#)5eSagwP-_)R_ysuNRtmJoFr)As%bUaxg}rP(drV`f@Id zR&MH`Na&xf-10$@V4AyOP=-^<+HoZg+Ej%NYUjPkqgDm;J6(si-)C;ckPop>sMLFtwhepe^Bv(nR?MrZlG&Xvlk z{m*i%uZTFSffsm1F>k_q@w&US`lUJNvT|tD$s{w$nSht>c|itj8D1aHk-F)GeNXdM>Ob!Fdi(y&7^ehb70eQ_+Rxb#b^Cp5F;`2>ok)co9!sRm%<1B}ec& z`59y+1>3kOBQru{&vna3Mx15m`hCH&l9?3Rd#+nOGQyRdGAbi{WZu!_q_-jBXEhXXRovFTC6G?OW6Y`rI9L~jvr)wtQ2FE0Y zUzX=hmzHGeUrV~ShoA4JW=EV=z>7#6c7ubGoV|GJk(1rbNK$A-7q^-uPj&HYS6hp| z^A%p2mqfF@J*hRT9IxgDcp7A{pTaNV^>oue>gJY>&v3?E=r39UHZ!uKgK!iaW`>Q2*7AU)TIEr0Pp5Z?OzDO3}^N8I-5An#;7S@zC!>_vHM&oI?{rl_lc>dl%i@+%nuUW(C z4khtM*0~?gABrG1@vkFpYJS8yH^VQ1@nON7kl}93kA%L=aI2B*?rv&9#Ce(Sr`vT! zWG01c@Ors5`?>`)-Rgo!s3g-(ofZlGkm;6Biv-VeH%!Y2mGp3{VcUARsf7`zHg_Wp zIv4t&r0}J9sqU;kY0iy=Y{Qv_FWFQK0kf?h!>W<>=iW$y>IT0Zi|{lf{1MoRr#@%* zKxa1X<(I|ofkk<6FLz@x>pxHp_t&Fpynb$aL7H<3eIw44rtNcjyBnuRLa+9AtEWeT zr?@F48R1V@m%UZcsZYmia`^)}u&-NP5^-*`kom{mdpn-yfH+5#jd73zXv19!Yec8|52yDi-PbEX8(V z8{qN$wD5(5=+x9SCy$W2!{0ytcGYqoB$~yK8LD;QBRszptu5V|KlBZ!2B**+m%7#E z5$6z4gG8ga5w#mgkLj)uoIoTiO2&IJJkwF5=DkNzUbXI-8}G z1^x!S?rzQHX`vT~xErgqA3s)=;f%QA_*`Iw@3_J(zdqu82~;h(Npj0P=SqJpnZ`FI zbK(5z_Htq@X@`@xhgV~!wQ~=iE^8J#ru<%;kGI(j4;e~ddvoOhLYhzH&lr4+r+MKo zqfM?lUOnP2#Z$ewgy{MCci#`9!?`}|cpr>Ra{hv67t@(ZPUGRRI&L1FU!jNalHHn1(wvV7sSmlpx+U@GbL{2}=bDkRc~M2L ztj5!_#l1NrDI6NbCQUn|(AZIK^({O*jdD}xM?!l?x#jaC!ItiZ`5Df*(R|e8WxBa4 zDYR|0o4SDIZ;ZbmXM7mREAjrdNX*AO-z!5m;%D&ug;L|tWUSxw+!ye!!n>H1-k68y zJU_wTxzp=xb(^>w+>G$JDE;H6&rNfd6XK#~ zOw@fxqHg(}5vSWkzf-)0*D1yGo698>dSarRx`=0HAUhf=zj;8Cb1oym`pS&eEueUk zTfHa}T0hB6y^FEP;a4}jIPJH3<8j;6OlNI-7_YmY%bi1n)Exf?la}jW9n2u+=rwp6 z2k&tsyhffoi*cwSq;tF{PA6@0tV1{_T!xqIrCLKsXHz$B7+>OPHTP#~iz)tf=Rd_= zfyXvMdjvMUw@z`ZmqbEuPH|K3jyUO40|A=suV2oCc$zi-TKfr}7ICiEDVo-m0Z^n89&sBwW?oe~LN?jE~0Bm7W- zmVDh>z95uJ*8YaQ^)!DZ{03(o_cU2=$79`4$1=CRz|#_<-CulyxaJYMHS%&i{OdZM1l{S2Vr5gvtizFTv9nlqn}D(es7^LVN(?e3NosxEOiJ{WN>m~mnYrs56pvt=dUhNoFW zA$YZC`mOUTkZwIjlDS%pr|PirrAuGJ(~3<&RJB&AAII82TsJ&*w_nxk@UpyqeUFg8 zx@3~7QJG(HRu}Fez3~)BpHq+P@zl%2aXqcay8w@YX8rm*o>pE`vSOWA&VwnQe?6DE zDJwF%0AcrDA07b+vfor>632=(_u4QF}l+KO(q2(Zyu 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 Zhqg@_W@vx)P+g~M?KeGlcvkq~{{U4wtL6Xz delta 74054 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%0AZH;6cpidm+!R& zGLm1l+c04K&LhM1eoAeoT%BCWmJAg%ww`)d`HLPWLoy2-^Z7U*4%oCw9l!1H*@mKl zPRW^snKxa=kUN#wmuTQ5e z<(RHSdS=bl;x%=b>1>uU)W;ZNIiP4q#mpOZlU!djUX?bM5O?`JMD)Lp^=K8zW;b0u z!YbY!*#f6a&92M3Okbl+uaSY_g)G`B`gGgNPtX0bwjjE}wTeD-(hDYV8iaYV9KJ6K zSKqSg@B~eX667zMFQ`MTZ-(Tu)tXnws{bzGtBzh$n?6A;Gr!*CY4HfLXeSxY`*%Mv z)zL=z%IjC$7T^$QMU2+`1G%${$F~9 z>;L4%(`dDPBC3#D!lK=IZuqj;weg33+KcSjB#V1re@iuPx~uL_UASlZ;CVfM>&|5f z@8-%e-^WY$@J=rK?)YNsE0!Zi{*Id0ag8qod0d-fcaeYBK2r@Q*(+Q5qpwMm>=CIA zE&9FW#|g1}ErasD=sTcSnH1gFZR-HbbuBsOWeI>si`6oZfd9lNR zmothQ`8${2{riJFqb9}koC^gS5?=nVOI~ZQR^{1`=XI92uWQx%{`+~9&CPSMq(ZiK zgDQCy&rG1P6_A-Nzo|O=3x3=%bF#gOrL_JHwX$W(>X9{var t={"./src/styles/main.scss":()=>{GM_addStyle('.vot-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));--vot-helper-ontheme:var(--vot-ontheme-rgb,var(--vot-onprimary-rgb,255,255,255));box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-ontheme));background-color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;border:none;border-radius:4px;outline:none;min-width:64px;height:36px;padding:0 16px;font-size:14px;font-weight:500;line-height:36px;transition:box-shadow .2s;display:inline-block;position:relative;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.vot-button[hidden]{display:none!important}.vot-button::-moz-focus-inner{border:none}.vot-button:before,.vot-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-button:before{background-color:rgb(var(--vot-helper-ontheme));transition:opacity .2s}.vot-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-button:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.vot-button:hover:before{opacity:.08}.vot-button:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.vot-button:active:after{opacity:.32;background-size:100% 100%;transition:background-size}.vot-button[disabled=true]{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.12);color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);box-shadow:none;cursor:initial}.vot-button[disabled=true]:before,.vot-button[disabled=true]:after{opacity:0}.vot-outlined-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));box-sizing:border-box;border:1px solid;border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.24);vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border-radius:4px;outline:none;min-width:64px;height:36px;margin:0;padding:0 16px;font-size:14px;font-weight:500;line-height:34px;display:inline-block;position:relative}.vot-outlined-button[hidden]{display:none!important}.vot-outlined-button::-moz-focus-inner{border:none}.vot-outlined-button:before,.vot-outlined-button:after{content:"";opacity:0;border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0}.vot-outlined-button:before{background-color:rgb(var(--vot-helper-theme));transition:opacity .2s}.vot-outlined-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-outlined-button:hover:before{opacity:.04}.vot-outlined-button:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-outlined-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-outlined-button[disabled=true]:before,.vot-outlined-button[disabled=true]:after{opacity:0}.vot-text-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;min-width:64px;height:36px;margin:0;padding:0 8px;font-size:14px;font-weight:500;line-height:36px;display:inline-block;position:relative}.vot-text-button[hidden]{display:none!important}.vot-text-button::-moz-focus-inner{border:none}.vot-text-button:before,.vot-text-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-text-button:before{background-color:rgb(var(--vot-helper-theme));transition:opacity .2s}.vot-text-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-text-button:hover:before{opacity:.04}.vot-text-button:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-text-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-text-button[disabled=true]:before,.vot-text-button[disabled=true]:after{opacity:0}.vot-icon-button{--vot-helper-onsurface:rgba(var(--vot-onsurface-rgb,0,0,0),.87);box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;fill:var(--vot-helper-onsurface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border:none;border-radius:50%;outline:none;width:36px;height:36px;margin:0;padding:0;font-size:14px;font-weight:500;line-height:36px;display:inline-block;position:relative}.vot-icon-button[hidden]{display:none!important}.vot-icon-button::-moz-focus-inner{border:none}.vot-icon-button:before,.vot-icon-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-icon-button:before{background-color:var(--vot-helper-onsurface);transition:opacity .2s}.vot-icon-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity .3s,background-size .4s}.vot-icon-button:hover:before{opacity:.04}.vot-icon-button:active:after{opacity:.32;background-size:100% 100%;transition:background-size,opacity}.vot-icon-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);fill:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-icon-button[disabled=true]:before,.vot-icon-button[disabled=true]:after{opacity:0}.vot-textfield{display:inline-block;--vot-helper-theme:rgb(var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243)))!important;--vot-helper-safari1:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important;--vot-helper-safari2:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;--vot-helper-safari3:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system)!important;text-align:start!important;padding-top:6px!important;font-size:16px!important;line-height:1.5!important;position:relative!important}.vot-textfield[hidden]{display:none!important}.vot-textfield>input,.vot-textfield>textarea{box-sizing:border-box!important;border-style:solid!important;border-width:1px!important;border-color:transparent var(--vot-helper-safari2)var(--vot-helper-safari2)!important;height:inherit!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;-webkit-text-fill-color:currentColor!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;caret-color:var(--vot-helper-theme)!important;background-color:#0000!important;border-radius:4px!important;width:100%!important;margin:0!important;padding:15px 13px!important;transition:border .2s,box-shadow .2s!important;box-shadow:inset 1px 0 #0000,inset -1px 0 #0000,inset 0 -1px #0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-webkit-input-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-webkit-input-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):placeholder-shown,.vot-textfield>textarea:not(:focus):placeholder-shown{border-top-color:var(--vot-helper-safari2)!important}.vot-textfield>input+span,.vot-textfield>textarea+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;cursor:text!important;pointer-events:none!important;width:100%!important;max-height:100%!important;font-size:75%!important;line-height:15px!important;transition:color .2s,font-size .2s,line-height .2s!important;display:flex!important;position:absolute!important;top:0!important;left:0!important}.vot-textfield>input:not(:focus):placeholder-shown+span,.vot-textfield>textarea:not(:focus):placeholder-shown+span{font-size:inherit!important;line-height:68px!important}.vot-textfield>input+span:before,.vot-textfield>input+span:after,.vot-textfield>textarea+span:before,.vot-textfield>textarea+span:after{content:""!important;box-sizing:border-box!important;border-top:solid 1px var(--vot-helper-safari2)!important;pointer-events:none!important;min-width:10px!important;height:8px!important;margin-top:6px!important;transition:border .2s,box-shadow .2s!important;display:block!important;box-shadow:inset 0 1px #0000!important}.vot-textfield>input+span:before,.vot-textfield>textarea+span:before{border-left:1px solid #0000!important;border-radius:4px 0!important;margin-right:4px!important}.vot-textfield>input+span:after,.vot-textfield>textarea+span:after{border-right:1px solid #0000!important;border-radius:0 4px!important;flex-grow:1!important;margin-left:4px!important}.vot-textfield>input.vot-show-placeholer+span:before,.vot-textfield>textarea.vot-show-placeholer+span:before{margin-right:0!important}.vot-textfield>input.vot-show-placeholer+span:after,.vot-textfield>textarea.vot-show-placeholer+span:after{margin-left:0!important}.vot-textfield>input:not(:focus):placeholder-shown+span:before,.vot-textfield>input:not(:focus):placeholder-shown+span:after,.vot-textfield>textarea:not(:focus):placeholder-shown+span:before,.vot-textfield>textarea:not(:focus):placeholder-shown+span:after{border-top-color:#0000!important}.vot-textfield:hover>input:not(:disabled),.vot-textfield:hover>textarea:not(:disabled){border-color:transparent var(--vot-helper-safari3)var(--vot-helper-safari3)!important}.vot-textfield:hover>input:not(:disabled)+span:before,.vot-textfield:hover>input:not(:disabled)+span:after,.vot-textfield:hover>textarea:not(:disabled)+span:before,.vot-textfield:hover>textarea:not(:disabled)+span:after{border-top-color:var(--vot-helper-safari3)!important}.vot-textfield:hover>input:not(:disabled):not(:focus):placeholder-shown,.vot-textfield:hover>textarea:not(:disabled):not(:focus):placeholder-shown{border-color:var(--vot-helper-safari3)!important}.vot-textfield>input:focus,.vot-textfield>textarea:focus{border-color:transparent var(--vot-helper-theme)var(--vot-helper-theme)!important;box-shadow:inset 1px 0 var(--vot-helper-theme),inset -1px 0 var(--vot-helper-theme),inset 0 -1px var(--vot-helper-theme)!important;outline:none!important}.vot-textfield>input:focus+span,.vot-textfield>textarea:focus+span{color:var(--vot-helper-theme)!important}.vot-textfield>input:focus+span:before,.vot-textfield>input:focus+span:after,.vot-textfield>textarea:focus+span:before,.vot-textfield>textarea:focus+span:after{border-top-color:var(--vot-helper-theme)!important;box-shadow:inset 0 1px var(--vot-helper-theme)!important}.vot-textfield>input:disabled,.vot-textfield>input:disabled+span,.vot-textfield>textarea:disabled,.vot-textfield>textarea:disabled+span{border-color:transparent var(--vot-helper-safari1)var(--vot-helper-safari1)!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important;pointer-events:none!important}.vot-textfield>input:disabled+span:before,.vot-textfield>input:disabled+span:after,.vot-textfield>textarea:disabled+span:before,.vot-textfield>textarea:disabled+span:after,.vot-textfield>input:disabled:placeholder-shown,.vot-textfield>input:disabled:placeholder-shown+span,.vot-textfield>textarea:disabled:placeholder-shown,.vot-textfield>textarea:disabled:placeholder-shown+span{border-top-color:var(--vot-helper-safari1)!important}.vot-textfield>input:disabled:placeholder-shown+span:before,.vot-textfield>input:disabled:placeholder-shown+span:after,.vot-textfield>textarea:disabled:placeholder-shown+span:before,.vot-textfield>textarea:disabled:placeholder-shown+span:after{border-top-color:#0000!important}@media not all and (-webkit-min-device-pixel-ratio:.0000264583),not all and (min-resolution:.001dpcm){@supports ((-webkit-appearance:none)){.vot-textfield>input,.vot-textfield>input+span,.vot-textfield>textarea,.vot-textfield>textarea+span,.vot-textfield>input+span:before,.vot-textfield>input+span:after,.vot-textfield>textarea+span:before,.vot-textfield>textarea+span:after{transition-duration:.1s!important}}}.vot-checkbox{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));--vot-helper-ontheme:var(--vot-ontheme-rgb,var(--vot-onprimary-rgb,255,255,255));z-index:0;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;font-size:16px;line-height:1.5;display:inline-block;position:relative}.vot-checkbox[hidden]{display:none!important}.vot-checkbox>input{-webkit-appearance:none;appearance:none;z-index:10000;box-sizing:border-box;border:2px solid;border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.6);cursor:pointer;background:0 0;border-radius:2px;outline:none;width:18px;height:18px;margin:3px 1px;transition:border-color .2s,background-color .2s;display:block;position:absolute}.vot-checkbox>input+span{box-sizing:border-box;width:inherit;cursor:pointer;padding-left:30px;font-weight:400;display:inline-block}.vot-checkbox>input+span:before{content:"";background-color:rgb(var(--vot-onsurface-rgb,0,0,0));opacity:0;pointer-events:none;border-radius:50%;width:40px;height:40px;transition:opacity .3s,transform .2s;display:block;position:absolute;top:-8px;left:-10px;transform:scale(1)}.vot-checkbox>input+span:after{content:"";z-index:10000;pointer-events:none;border:0 solid #0000;border-width:0 0 2px 2px;width:10px;height:5px;transition:border-color .2s;display:block;position:absolute;top:3px;left:1px;transform:translate(3px,4px)rotate(-45deg);box-sizing:content-box!important}.vot-checkbox>input:checked,.vot-checkbox>input:indeterminate{border-color:rgb(var(--vot-helper-theme));background-color:rgb(var(--vot-helper-theme))}.vot-checkbox>input:checked+span:before,.vot-checkbox>input:indeterminate+span:before{background-color:rgb(var(--vot-helper-theme))}.vot-checkbox>input:checked+span:after,.vot-checkbox>input:indeterminate+span:after{border-color:rgb(var(--vot-helper-ontheme,255,255,255))}.vot-checkbox>input:indeterminate+span:after{border-left-width:0;transform:translate(4px,3px)}.vot-checkbox:hover>input+span:before{opacity:.04}.vot-checkbox:active>input,.vot-checkbox:active:hover>input:not(:disabled){border-color:rgb(var(--vot-helper-theme))}.vot-checkbox:active>input:checked{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.6);border-color:#0000}.vot-checkbox:active>input+span:before{opacity:1;transition:transform,opacity;transform:scale(0)}.vot-checkbox>input:disabled{border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial}.vot-checkbox>input:disabled:checked,.vot-checkbox>input:disabled:indeterminate{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);border-color:#0000}.vot-checkbox>input:disabled+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial}.vot-checkbox>input:disabled+span:before{opacity:0;transform:scale(0)}.vot-slider{display:inline-block;--vot-safari-helper1:rgba(var(--vot-primary-rgb,33,150,243),.04)!important;--vot-safari-helper2:rgba(var(--vot-primary-rgb,33,150,243),.12)!important;--vot-safari-helper3:rgba(var(--vot-primary-rgb,33,150,243),.16)!important;--vot-safari-helper4:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;font-family:var(--vot-font,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system)!important;text-align:start!important;width:100%!important;font-size:16px!important;line-height:1.5!important}.vot-slider[hidden]{display:none!important}.vot-slider>input{-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important;background-color:#0000!important;width:100%!important;height:36px!important;margin:0 0 -36px!important;display:block!important;position:relative!important;top:24px!important}.vot-slider>input:last-child{margin:0!important;position:static!important}.vot-slider>input:before{content:""!important;width:calc(100%*var(--vot-progress,0))!important;background:rgb(var(--vot-primary-rgb,33,150,243))!important;height:2px!important;display:block!important;position:absolute!important;top:calc(50% - 1px)!important}.vot-slider>input:disabled{cursor:default!important;opacity:.38!important}.vot-slider>input:disabled+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-webkit-slider-runnable-track{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-moz-range-track{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-ms-fill-lower{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-ms-fill-upper{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-moz-range-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-ms-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-webkit-slider-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-ms-fill-upper{opacity:.38!important}.vot-slider>input:disabled::-moz-range-progress{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important}.vot-slider>input:disabled:-webkit-slider-thumb{color:rgb(var(--vot-surface-rgb,255,255,255))!important}.vot-slider>input:active::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--vot-safari-helper4)!important}.vot-slider>input:active::-moz-range-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.24)!important}.vot-slider>input:active::-ms-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.24)!important}.vot-slider>input:focus{outline:none!important}.vot-slider>input::-webkit-slider-runnable-track{background-color:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important}.vot-slider>input::-moz-range-track{background-color:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important}.vot-slider>input::-ms-track{box-sizing:border-box!important;background-color:#0000!important;border:none!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important;padding:0 17px!important}.vot-slider>input::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-moz-range-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-ms-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-webkit-slider-thumb{-webkit-appearance:none!important;margin:0!important}.vot-slider>input::-moz-range-thumb{-moz-appearance:none!important}.vot-slider>input::-ms-thumb{margin:0 17px!important}.vot-slider>input::-moz-range-progress{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-ms-fill-lower{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-ms-fill-upper{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-moz-focus-outer{border:none!important}.vot-slider>span{margin-bottom:36px!important;display:inline-block!important}.vot-slider:hover>input::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--vot-safari-helper1)!important}.vot-slider:hover>input::-ms-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.04)!important}.vot-slider:hover>input:hover::-moz-range-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.04)!important}.vot-select{font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;color:var(--vot-helper-theme);fill:var(--vot-helper-theme);justify-content:space-between;align-items:center;font-size:14px;font-weight:400;line-height:1.5;display:flex;--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0)!important;--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87)!important;--vot-helper-safari1:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;--vot-helper-safari2:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important}.vot-select[hidden]{display:none!important}.vot-select-label{font-size:16px}.vot-select-outer{cursor:pointer;justify-content:space-between;align-items:center;width:120px;max-width:120px;padding:0 5px;display:flex;border-style:solid!important;border-width:1px!important;border-color:var(--vot-helper-safari1)!important;border-radius:4px!important;transition:border .2s!important}.vot-select-outer:hover{border-color:var(--vot-helper-safari2)!important}.vot-select-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vot-select-arrow-icon{justify-content:center;align-items:center;width:20px;height:32px;display:flex}.vot-select-content-list{flex-direction:column;display:flex}.vot-select-content-list .vot-select-content-item{cursor:pointer;border-radius:8px;padding:5px 10px}.vot-select-content-list .vot-select-content-item:not([inert]):hover{background-color:#2a2c31}.vot-select-content-list .vot-select-content-item[data-vot-selected=true]{color:rgb(var(--vot-primary-rgb,33,150,243));background-color:rgba(var(--vot-primary-rgb,33,150,243),.2)}.vot-select-content-list .vot-select-content-item[data-vot-selected=true]:hover{background-color:rgba(var(--vot-primary-rgb,33,150,243),.1)!important}.vot-select-content-list .vot-select-content-item[data-vot-disabled=true]{cursor:default}.vot-select-content-list .vot-select-content-item[hidden]{display:none!important}.vot-header{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;font-weight:700;line-height:1.5}.vot-header[hidden]{display:none!important}.vot-header:not(:first-child){padding-top:8px}.vot-header-level-1{font-size:2em}.vot-header-level-2{font-size:1.5em}.vot-header-level-3{font-size:1.17em}.vot-header-level-4{font-size:1em}.vot-header-level-5{font-size:.83em}.vot-header-level-6{font-size:.67em}.vot-info{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;-webkit-user-select:text;user-select:text;font-size:16px;line-height:1.5;display:flex}.vot-info[hidden]{display:none!important}.vot-info>:not(:first-child){color:rgba(var(--vot-helper-onsurface-rgb),.5);flex:1;margin-left:8px}.vot-details{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;cursor:pointer;border-radius:.5em;justify-content:space-between;align-items:center;margin:0 -.5em;padding:.5em;font-size:16px;line-height:1.5;transition:background .5s;display:flex}.vot-details[hidden]{display:none!important}.vot-details-arrow-icon{fill:rgba(var(--vot-helper-onsurface-rgb),.87);justify-content:center;align-items:center;width:20px;height:32px;display:flex;transform:scale(1.25)rotate(-90deg)}.vot-details:hover{background:rgba(var(--vot-onsurface-rgb,0,0,0),.04)}.vot-lang-select{--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87);color:var(--vot-helper-theme);fill:var(--vot-helper-theme);justify-content:space-between;align-items:center;display:flex}.vot-lang-select[hidden]{display:none!important}.vot-lang-select-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.vot-segmented-button{--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87);-webkit-user-select:none;user-select:none;background:rgb(var(--vot-surface-rgb,255,255,255));color:var(--vot-helper-theme);fill:var(--vot-helper-theme);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:default;z-index:2147483647;border-radius:4px;align-items:center;max-width:100vw;height:32px;font-size:16px;line-height:1.5;transition:opacity .5s;display:flex;position:absolute;top:5rem;left:50%;overflow:hidden;transform:translate(-50%)}.vot-segmented-button[hidden]{display:none!important}.vot-segmented-button *{box-sizing:border-box!important}.vot-segmented-button .vot-separator{background:rgba(var(--vot-helper-theme-rgb),.1);width:1px;height:50%}.vot-segmented-button .vot-separator[hidden]{display:none!important}.vot-segmented-button .vot-segment,.vot-segmented-button .vot-segment-only-icon{color:inherit;background-color:#0000;border:none;justify-content:center;align-items:center;height:100%;padding:0 8px;transition:background-color .1s ease-in-out;display:flex;position:relative;overflow:hidden}.vot-segmented-button .vot-segment[hidden],.vot-segmented-button [hidden].vot-segment-only-icon{display:none!important}.vot-segmented-button .vot-segment:before,.vot-segmented-button .vot-segment-only-icon:before,.vot-segmented-button .vot-segment:after,.vot-segmented-button .vot-segment-only-icon:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-segmented-button .vot-segment:before,.vot-segmented-button .vot-segment-only-icon:before{background-color:rgb(var(--vot-helper-theme-rgb));transition:opacity .2s}.vot-segmented-button .vot-segment:after,.vot-segmented-button .vot-segment-only-icon:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-segmented-button .vot-segment:hover:before,.vot-segmented-button .vot-segment-only-icon:hover:before{opacity:.04}.vot-segmented-button .vot-segment:active:after,.vot-segmented-button .vot-segment-only-icon:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-segmented-button .vot-segment-only-icon{min-width:32px;padding:0}.vot-segmented-button .vot-segment-label{white-space:nowrap;color:inherit;margin-left:8px;font-weight:400}.vot-segmented-button[data-status=success] .vot-translate-button{color:rgb(var(--vot-primary-rgb,33,150,243));fill:rgb(var(--vot-primary-rgb,33,150,243))}.vot-segmented-button[data-status=error] .vot-translate-button{color:#f28b82;fill:#f28b82}.vot-segmented-button[data-loading=true] #vot-loading-icon{display:block!important}.vot-segmented-button[data-loading=true] #vot-translate-icon{display:none!important}.vot-segmented-button[data-direction=column]{flex-direction:column;height:fit-content}.vot-segmented-button[data-direction=column] .vot-segment-label{display:none}.vot-segmented-button[data-direction=column]>.vot-segment-only-icon,.vot-segmented-button[data-direction=column]>.vot-segment{padding:8px}.vot-segmented-button[data-direction=column] .vot-separator{width:50%;height:1px}.vot-segmented-button[data-position=left]{top:12.5vh;left:50px}.vot-segmented-button[data-position=right]{top:12.5vh;left:auto;right:0}.vot-segmented-button svg{width:24px}.vot-menu{--vot-helper-surface-rgb:var(--vot-surface-rgb,255,255,255);--vot-helper-surface:rgb(var(--vot-helper-surface-rgb));--vot-helper-onsurface-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-onsurface:rgba(var(--vot-helper-onsurface-rgb),.87);-webkit-user-select:none;user-select:none;background-color:var(--vot-helper-surface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:default;z-index:2147483647;visibility:visible;opacity:1;transform-origin:top;border-radius:8px;min-width:300px;font-size:16px;line-height:1.5;transition:opacity .3s,transform .1s;position:absolute;top:calc(5rem + 48px);left:50%;overflow:hidden;transform:translate(-50%)scale(1)}.vot-menu *{box-sizing:border-box!important}.vot-menu[hidden]{pointer-events:none;visibility:hidden;opacity:0;transform:translate(-50%)scale(0);display:block!important}.vot-menu-content-wrapper{max-height:calc(var(--vot-container-height,75vh) - (5rem + 32px + 16px)*2);flex-direction:column;min-height:100px;display:flex;overflow:auto}.vot-menu-header-container{flex-shrink:0;align-items:flex-start;min-height:31px;display:flex}.vot-menu-header-container:empty{padding:0 0 16px}.vot-menu-header-container>.vot-icon-button{margin-inline-end:4px;margin-top:4px}.vot-menu-title-container{font-size:inherit;font-weight:inherit;text-align:start;outline:0;flex:1;margin:0;display:flex}.vot-menu-title{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex:1;padding-top:16px;font-size:16px;font-weight:400;line-height:1}.vot-menu-body-container{box-sizing:border-box;overscroll-behavior:contain;flex-direction:column;gap:8px;min-height:1.375rem;padding:0 16px;display:flex;overflow:auto;scrollbar-color:rgba(var(--vot-helper-onsurface-rgb),.1)var(--vot-helper-surface)!important}.vot-menu-body-container::-webkit-scrollbar{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-menu-body-container::-webkit-scrollbar-track{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-menu-body-container::-webkit-scrollbar-thumb{background:rgba(var(--vot-helper-onsurface-rgb),.1)!important;border:5px solid var(--vot-helper-surface)!important;-webkit-border-radius:1ex!important}.vot-menu-body-container::-webkit-scrollbar-thumb:hover{border:3px solid var(--vot-helper-surface)!important}.vot-menu-body-container::-webkit-scrollbar-corner{background:var(--vot-helper-surface)!important}.vot-menu-footer-container{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex-shrink:0;justify-content:flex-end;padding-top:16px;display:flex}.vot-menu-footer-container:empty{padding:16px 0 0}.vot-menu[data-position=left]{top:12.5vh;left:240px}.vot-menu[data-position=right]{top:12.5vh;left:auto;right:-80px}.vot-dialog{--vot-helper-surface-rgb:var(--vot-surface-rgb,255,255,255);--vot-helper-surface:rgb(var(--vot-helper-surface-rgb));--vot-helper-onsurface-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-onsurface:rgba(var(--vot-helper-onsurface-rgb),.87);max-width:initial;max-height:initial;width:min(var(--vot-dialog-width,512px),100%);top:50%;bottom:50%;background-color:var(--vot-helper-surface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);-webkit-user-select:none;user-select:none;visibility:visible;opacity:1;transform-origin:50%;border-radius:8px;height:fit-content;margin:auto;padding:0;font-size:16px;line-height:1.5;transition:opacity .3s,transform .1s;display:block;position:fixed;top:0;bottom:0;left:0;right:0;overflow-x:auto;overflow-y:hidden;transform:scale(1);box-shadow:0 0 16px #0000001f,0 16px 16px #0000003d}[hidden]>.vot-dialog{pointer-events:none;opacity:0;transition:opacity .1s,transform .2s;transform:scale(.5)}.vot-dialog-container{visibility:visible;z-index:2147483647;position:absolute}.vot-dialog-container[hidden]{pointer-events:none;visibility:hidden;display:block!important}.vot-dialog-container *{box-sizing:border-box!important}.vot-dialog-backdrop{opacity:1;background-color:#0009;transition:opacity .3s;position:fixed;top:0;bottom:0;left:0;right:0}[hidden]>.vot-dialog-backdrop{pointer-events:none;opacity:0}.vot-dialog-content-wrapper{flex-direction:column;max-height:75vh;display:flex;overflow:auto}.vot-dialog-header-container{flex-shrink:0;align-items:flex-start;min-height:31px;display:flex}.vot-dialog-header-container:empty{padding:0 0 20px}.vot-dialog-header-container>.vot-icon-button{margin-inline-end:4px;margin-top:4px}.vot-dialog-title-container{font-size:inherit;font-weight:inherit;outline:0;flex:1;margin:0;display:flex}.vot-dialog-title{padding-bottom:16px;padding-inline-start:20px;padding-inline-end:20px;flex:1;padding-top:20px;font-size:115.385%;font-weight:700;line-height:1}.vot-dialog-body-container{box-sizing:border-box;overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:1.375rem;padding:0 20px;display:flex;overflow:auto;scrollbar-color:rgba(var(--vot-helper-onsurface-rgb),.1)var(--vot-helper-surface)!important}.vot-dialog-body-container::-webkit-scrollbar{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-dialog-body-container::-webkit-scrollbar-track{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-dialog-body-container::-webkit-scrollbar-thumb{background:rgba(var(--vot-helper-onsurface-rgb),.1)!important;border:5px solid var(--vot-helper-surface)!important;-webkit-border-radius:1ex!important}.vot-dialog-body-container::-webkit-scrollbar-thumb:hover{border:3px solid var(--vot-helper-surface)!important}.vot-dialog-body-container::-webkit-scrollbar-corner{background:var(--vot-helper-surface)!important}.vot-dialog-footer-container{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex-shrink:0;justify-content:flex-end;padding-top:16px;display:flex}.vot-dialog-footer-container:empty{padding:20px 0 0}.vot-subtitles-widget{z-index:2147483647;pointer-events:none;justify-content:center;align-items:center;width:50%;min-height:20%;max-height:100%;display:flex;position:absolute;top:75%;left:25%}.vot-subtitles{--vot-subtitles-background:rgba(var(--vot-surface-rgb,46,47,52),var(--vot-subtitles-opacity,.8));background:var(--vot-subtitles-background,#2e2f34cc);color:var(--vot-subtitles-color,#e3e3e3);pointer-events:all;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:.5em;width:max-content;max-width:100%;max-height:100%;padding:.5em;font-size:20px;line-height:normal;position:relative}.vot-subtitles span{-webkit-user-select:text;user-select:text;font-size:inherit!important;line-height:normal!important}.vot-subtitles .passed{color:var(--vot-subtitles-passed-color,#2196f3)}:root{--vot-font-family:"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system;--vot-primary-rgb:139,180,245;--vot-onprimary-rgb:32,33,36;--vot-surface-rgb:32,33,36;--vot-onsurface-rgb:227,227,227;--vot-subtitles-color:rgb(var(--vot-onsurface-rgb,227,227,227));--vot-subtitles-passed-color:rgb(var(--vot-primary-rgb,33,150,243))}vot-block{display:block;visibility:visible!important}')},"./node_modules/bowser/es5.js":function(t){t.exports=function(t){var e={};function o(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=t,o.c=e,o.d=function(t,e,a){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(a,n,function(e){return t[e]}.bind(null,n));return a},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=90)}({17:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a=o(18),n=function(){function t(){}return t.getFirstMatch=function(t,e){var o=e.match(t);return o&&o.length>0&&o[1]||""},t.getSecondMatch=function(t,e){var o=e.match(t);return o&&o.length>1&&o[2]||""},t.matchAndReturnConst=function(t,e,o){if(t.test(e))return o},t.getWindowsVersionName=function(t){switch(t){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},t.getMacOSVersionName=function(t){var e=t.split(".").splice(0,2).map((function(t){return parseInt(t,10)||0}));if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},t.getAndroidVersionName=function(t){var e=t.split(".").splice(0,2).map((function(t){return parseInt(t,10)||0}));if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&e[1]>=6?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&e[1]>2?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&e[1]>=4?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0},t.getVersionPrecision=function(t){return t.split(".").length},t.compareVersions=function(e,o,a){void 0===a&&(a=!1);var n=t.getVersionPrecision(e),i=t.getVersionPrecision(o),r=Math.max(n,i),s=0,l=t.map([e,o],(function(e){var o=r-t.getVersionPrecision(e),a=e+new Array(o+1).join(".0");return t.map(a.split("."),(function(t){return new Array(20-t.length).join("0")+t})).reverse()}));for(a&&(s=r-Math.min(n,i)),r-=1;r>=s;){if(l[0][r]>l[1][r])return 1;if(l[0][r]===l[1][r]){if(r===s)return 0;r-=1}else if(l[0][r]1?n-1:0),r=1;r0){var r=Object.keys(o),l=s.default.find(r,(function(t){return e.isOS(t)}));if(l){var d=this.satisfies(o[l]);if(void 0!==d)return d}var u=s.default.find(r,(function(t){return e.isPlatform(t)}));if(u){var c=this.satisfies(o[u]);if(void 0!==c)return c}}if(i>0){var h=Object.keys(n),p=s.default.find(h,(function(t){return e.isBrowser(t,!0)}));if(void 0!==p)return this.compareVersion(n[p])}},e.isBrowser=function(t,e){void 0===e&&(e=!1);var o=this.getBrowserName().toLowerCase(),a=t.toLowerCase(),n=s.default.getBrowserTypeByAlias(a);return e&&n&&(a=n.toLowerCase()),a===o},e.compareVersion=function(t){var e=[0],o=t,a=!1,n=this.getBrowserVersion();if("string"==typeof n)return">"===t[0]||"<"===t[0]?(o=t.substr(1),"="===t[1]?(a=!0,o=t.substr(2)):e=[],">"===t[0]?e.push(1):e.push(-1)):"="===t[0]?o=t.substr(1):"~"===t[0]&&(a=!0,o=t.substr(1)),e.indexOf(s.default.compareVersions(n,o,a))>-1},e.isOS=function(t){return this.getOSName(!0)===String(t).toLowerCase()},e.isPlatform=function(t){return this.getPlatformType(!0)===String(t).toLowerCase()},e.isEngine=function(t){return this.getEngineName(!0)===String(t).toLowerCase()},e.is=function(t,e){return void 0===e&&(e=!1),this.isBrowser(t,e)||this.isOS(t)||this.isPlatform(t)},e.some=function(t){var e=this;return void 0===t&&(t=[]),t.some((function(t){return e.is(t)}))},t}();e.default=d,t.exports=e.default},92:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(t){var e={name:"Googlebot"},o=n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/opera/i],describe:function(t){var e={name:"Opera"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/opr\/|opios/i],describe:function(t){var e={name:"Opera"},o=n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/SamsungBrowser/i],describe:function(t){var e={name:"Samsung Internet for Android"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/Whale/i],describe:function(t){var e={name:"NAVER Whale Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/MZBrowser/i],describe:function(t){var e={name:"MZ Browser"},o=n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/focus/i],describe:function(t){var e={name:"Focus"},o=n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/swing/i],describe:function(t){var e={name:"Swing"},o=n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/coast/i],describe:function(t){var e={name:"Opera Coast"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(t){var e={name:"Opera Touch"},o=n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/yabrowser/i],describe:function(t){var e={name:"Yandex Browser"},o=n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/ucbrowser/i],describe:function(t){var e={name:"UC Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/Maxthon|mxios/i],describe:function(t){var e={name:"Maxthon"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/epiphany/i],describe:function(t){var e={name:"Epiphany"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/puffin/i],describe:function(t){var e={name:"Puffin"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/sleipnir/i],describe:function(t){var e={name:"Sleipnir"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/k-meleon/i],describe:function(t){var e={name:"K-Meleon"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/micromessenger/i],describe:function(t){var e={name:"WeChat"},o=n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/qqbrowser/i],describe:function(t){var e={name:/qqbrowserlite/i.test(t)?"QQ Browser Lite":"QQ Browser"},o=n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/msie|trident/i],describe:function(t){var e={name:"Internet Explorer"},o=n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/\sedg\//i],describe:function(t){var e={name:"Microsoft Edge"},o=n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/edg([ea]|ios)/i],describe:function(t){var e={name:"Microsoft Edge"},o=n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/vivaldi/i],describe:function(t){var e={name:"Vivaldi"},o=n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/seamonkey/i],describe:function(t){var e={name:"SeaMonkey"},o=n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/sailfish/i],describe:function(t){var e={name:"Sailfish"},o=n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,t);return o&&(e.version=o),e}},{test:[/silk/i],describe:function(t){var e={name:"Amazon Silk"},o=n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/phantom/i],describe:function(t){var e={name:"PhantomJS"},o=n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/slimerjs/i],describe:function(t){var e={name:"SlimerJS"},o=n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(t){var e={name:"BlackBerry"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/(web|hpw)[o0]s/i],describe:function(t){var e={name:"WebOS Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/bada/i],describe:function(t){var e={name:"Bada"},o=n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/tizen/i],describe:function(t){var e={name:"Tizen"},o=n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/qupzilla/i],describe:function(t){var e={name:"QupZilla"},o=n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/firefox|iceweasel|fxios/i],describe:function(t){var e={name:"Firefox"},o=n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/electron/i],describe:function(t){var e={name:"Electron"},o=n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/MiuiBrowser/i],describe:function(t){var e={name:"Miui"},o=n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/chromium/i],describe:function(t){var e={name:"Chromium"},o=n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/chrome|crios|crmo/i],describe:function(t){var e={name:"Chrome"},o=n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/GSA/i],describe:function(t){var e={name:"Google Search"},o=n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){var e=!t.test(/like android/i),o=t.test(/android/i);return e&&o},describe:function(t){var e={name:"Android Browser"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/playstation 4/i],describe:function(t){var e={name:"PlayStation 4"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/safari|applewebkit/i],describe:function(t){var e={name:"Safari"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/.*/i],describe:function(t){var e=-1!==t.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:n.default.getFirstMatch(e,t),version:n.default.getSecondMatch(e,t)}}}];e.default=r,t.exports=e.default},93:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:[/Roku\/DVP/],describe:function(t){var e=n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,t);return{name:i.OS_MAP.Roku,version:e}}},{test:[/windows phone/i],describe:function(t){var e=n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.WindowsPhone,version:e}}},{test:[/windows /i],describe:function(t){var e=n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,t),o=n.default.getWindowsVersionName(e);return{name:i.OS_MAP.Windows,version:e,versionName:o}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(t){var e={name:i.OS_MAP.iOS},o=n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,t);return o&&(e.version=o),e}},{test:[/macintosh/i],describe:function(t){var e=n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,t).replace(/[_\s]/g,"."),o=n.default.getMacOSVersionName(e),a={name:i.OS_MAP.MacOS,version:e};return o&&(a.versionName=o),a}},{test:[/(ipod|iphone|ipad)/i],describe:function(t){var e=n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,t).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:e}}},{test:function(t){var e=!t.test(/like android/i),o=t.test(/android/i);return e&&o},describe:function(t){var e=n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,t),o=n.default.getAndroidVersionName(e),a={name:i.OS_MAP.Android,version:e};return o&&(a.versionName=o),a}},{test:[/(web|hpw)[o0]s/i],describe:function(t){var e=n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,t),o={name:i.OS_MAP.WebOS};return e&&e.length&&(o.version=e),o}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(t){var e=n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,t)||n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,t)||n.default.getFirstMatch(/\bbb(\d+)/i,t);return{name:i.OS_MAP.BlackBerry,version:e}}},{test:[/bada/i],describe:function(t){var e=n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.Bada,version:e}}},{test:[/tizen/i],describe:function(t){var e=n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.Tizen,version:e}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(t){var e=n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.PlayStation4,version:e}}}];e.default=r,t.exports=e.default},94:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(t){var e=n.default.getFirstMatch(/(can-l01)/i,t)&&"Nova",o={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return e&&(o.model=e),o}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(t){var e=t.test(/ipod|iphone/i),o=t.test(/like (ipod|iphone)/i);return e&&!o},describe:function(t){var e=n.default.getFirstMatch(/(ipod|iphone)/i,t);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"blackberry"===t.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(t){return"bada"===t.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"windows phone"===t.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(t){var e=Number(String(t.getOSVersion()).split(".")[0]);return"android"===t.getOSName(!0)&&e>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(t){return"android"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"macos"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(t){return"windows"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(t){return"linux"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(t){return"playstation 4"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(t){return"roku"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];e.default=r,t.exports=e.default},95:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:function(t){return"microsoft edge"===t.getBrowserName(!0)},describe:function(t){if(/\sedg\//i.test(t))return{name:i.ENGINE_MAP.Blink};var e=n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,t);return{name:i.ENGINE_MAP.EdgeHTML,version:e}}},{test:[/trident/i],describe:function(t){var e={name:i.ENGINE_MAP.Trident},o=n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){return t.test(/presto/i)},describe:function(t){var e={name:i.ENGINE_MAP.Presto},o=n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){var e=t.test(/gecko/i),o=t.test(/like gecko/i);return e&&!o},describe:function(t){var e={name:i.ENGINE_MAP.Gecko},o=n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(t){var e={name:i.ENGINE_MAP.WebKit},o=n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}}];e.default=r,t.exports=e.default}})},"./node_modules/requestidlecallback-polyfill/index.js":()=>{window.requestIdleCallback=window.requestIdleCallback||function(t){var e=Date.now();return setTimeout((function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})}),1)},window.cancelIdleCallback=window.cancelIdleCallback||function(t){clearTimeout(t)}}},e={};function o(a){var n=e[a];if(void 0!==n)return n.exports;var i=e[a]={exports:{}};return t[a].call(i.exports,i,i.exports,o),i.exports}(()=>{"use strict";var t=o("./node_modules/bowser/es5.js");const e=protobuf;var a;function n(t){switch(t){case 0:case"NO_CONNECTION":return a.NO_CONNECTION;case 10:case"TRANSLATING":return a.TRANSLATING;case 20:case"STREAMING":return a.STREAMING;default:return a.UNRECOGNIZED}}!function(t){t[t.NO_CONNECTION=0]="NO_CONNECTION",t[t.TRANSLATING=10]="TRANSLATING",t[t.STREAMING=20]="STREAMING",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED"}(a||(a={}));const i={encode:(t,o=e.Writer.create())=>(""!==t.target&&o.uint32(10).string(t.target),""!==t.targetUrl&&o.uint32(18).string(t.targetUrl),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={target:"",targetUrl:""};for(;a.pos>>3){case 1:if(10!==t)break;i.target=a.string();continue;case 2:if(18!==t)break;i.targetUrl=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({target:f(t.target)?globalThis.String(t.target):"",targetUrl:f(t.targetUrl)?globalThis.String(t.targetUrl):""}),toJSON(t){const e={};return""!==t.target&&(e.target=t.target),""!==t.targetUrl&&(e.targetUrl=t.targetUrl),e},create:t=>i.fromPartial(t??{}),fromPartial(t){const e={target:"",targetUrl:""};return e.target=t.target??"",e.targetUrl=t.targetUrl??"",e}};const r={encode(t,o=e.Writer.create()){""!==t.url&&o.uint32(26).string(t.url),void 0!==t.deviceId&&o.uint32(34).string(t.deviceId),!1!==t.firstRequest&&o.uint32(40).bool(t.firstRequest),0!==t.duration&&o.uint32(49).double(t.duration),0!==t.unknown0&&o.uint32(56).int32(t.unknown0),""!==t.language&&o.uint32(66).string(t.language),!1!==t.forceSourceLang&&o.uint32(72).bool(t.forceSourceLang),0!==t.unknown1&&o.uint32(80).int32(t.unknown1);for(const e of t.translationHelp)i.encode(e,o.uint32(90).fork()).ldelim();return""!==t.responseLanguage&&o.uint32(114).string(t.responseLanguage),0!==t.unknown2&&o.uint32(120).int32(t.unknown2),0!==t.unknown3&&o.uint32(128).int32(t.unknown3),!1!==t.bypassCache&&o.uint32(136).bool(t.bypassCache),o},decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const r={url:"",deviceId:void 0,firstRequest:!1,duration:0,unknown0:0,language:"",forceSourceLang:!1,unknown1:0,translationHelp:[],responseLanguage:"",unknown2:0,unknown3:0,bypassCache:!1};for(;a.pos>>3){case 3:if(26!==t)break;r.url=a.string();continue;case 4:if(34!==t)break;r.deviceId=a.string();continue;case 5:if(40!==t)break;r.firstRequest=a.bool();continue;case 6:if(49!==t)break;r.duration=a.double();continue;case 7:if(56!==t)break;r.unknown0=a.int32();continue;case 8:if(66!==t)break;r.language=a.string();continue;case 9:if(72!==t)break;r.forceSourceLang=a.bool();continue;case 10:if(80!==t)break;r.unknown1=a.int32();continue;case 11:if(90!==t)break;r.translationHelp.push(i.decode(a,a.uint32()));continue;case 14:if(114!==t)break;r.responseLanguage=a.string();continue;case 15:if(120!==t)break;r.unknown2=a.int32();continue;case 16:if(128!==t)break;r.unknown3=a.int32();continue;case 17:if(136!==t)break;r.bypassCache=a.bool();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return r},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",deviceId:f(t.deviceId)?globalThis.String(t.deviceId):void 0,firstRequest:!!f(t.firstRequest)&&globalThis.Boolean(t.firstRequest),duration:f(t.duration)?globalThis.Number(t.duration):0,unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):0,language:f(t.language)?globalThis.String(t.language):"",forceSourceLang:!!f(t.forceSourceLang)&&globalThis.Boolean(t.forceSourceLang),unknown1:f(t.unknown1)?globalThis.Number(t.unknown1):0,translationHelp:globalThis.Array.isArray(t?.translationHelp)?t.translationHelp.map((t=>i.fromJSON(t))):[],responseLanguage:f(t.responseLanguage)?globalThis.String(t.responseLanguage):"",unknown2:f(t.unknown2)?globalThis.Number(t.unknown2):0,unknown3:f(t.unknown3)?globalThis.Number(t.unknown3):0,bypassCache:!!f(t.bypassCache)&&globalThis.Boolean(t.bypassCache)}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),void 0!==t.deviceId&&(e.deviceId=t.deviceId),!1!==t.firstRequest&&(e.firstRequest=t.firstRequest),0!==t.duration&&(e.duration=t.duration),0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.language&&(e.language=t.language),!1!==t.forceSourceLang&&(e.forceSourceLang=t.forceSourceLang),0!==t.unknown1&&(e.unknown1=Math.round(t.unknown1)),t.translationHelp?.length&&(e.translationHelp=t.translationHelp.map((t=>i.toJSON(t)))),""!==t.responseLanguage&&(e.responseLanguage=t.responseLanguage),0!==t.unknown2&&(e.unknown2=Math.round(t.unknown2)),0!==t.unknown3&&(e.unknown3=Math.round(t.unknown3)),!1!==t.bypassCache&&(e.bypassCache=t.bypassCache),e},create:t=>r.fromPartial(t??{}),fromPartial(t){const e={url:"",deviceId:void 0,firstRequest:!1,duration:0,unknown0:0,language:"",forceSourceLang:!1,unknown1:0,translationHelp:[],responseLanguage:"",unknown2:0,unknown3:0,bypassCache:!1};return e.url=t.url??"",e.deviceId=t.deviceId??void 0,e.firstRequest=t.firstRequest??!1,e.duration=t.duration??0,e.unknown0=t.unknown0??0,e.language=t.language??"",e.forceSourceLang=t.forceSourceLang??!1,e.unknown1=t.unknown1??0,e.translationHelp=t.translationHelp?.map((t=>i.fromPartial(t)))||[],e.responseLanguage=t.responseLanguage??"",e.unknown2=t.unknown2??0,e.unknown3=t.unknown3??0,e.bypassCache=t.bypassCache??!1,e}};const s={encode:(t,o=e.Writer.create())=>(void 0!==t.url&&o.uint32(10).string(t.url),void 0!==t.duration&&o.uint32(17).double(t.duration),0!==t.status&&o.uint32(32).int32(t.status),void 0!==t.remainingTime&&o.uint32(40).int32(t.remainingTime),void 0!==t.unknown0&&o.uint32(48).int32(t.unknown0),""!==t.translationId&&o.uint32(58).string(t.translationId),void 0!==t.language&&o.uint32(66).string(t.language),void 0!==t.message&&o.uint32(74).string(t.message),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:void 0,duration:void 0,status:0,remainingTime:void 0,unknown0:void 0,translationId:"",language:void 0,message:void 0};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(17!==t)break;i.duration=a.double();continue;case 4:if(32!==t)break;i.status=a.int32();continue;case 5:if(40!==t)break;i.remainingTime=a.int32();continue;case 6:if(48!==t)break;i.unknown0=a.int32();continue;case 7:if(58!==t)break;i.translationId=a.string();continue;case 8:if(66!==t)break;i.language=a.string();continue;case 9:if(74!==t)break;i.message=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):void 0,duration:f(t.duration)?globalThis.Number(t.duration):void 0,status:f(t.status)?globalThis.Number(t.status):0,remainingTime:f(t.remainingTime)?globalThis.Number(t.remainingTime):void 0,unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):void 0,translationId:f(t.translationId)?globalThis.String(t.translationId):"",language:f(t.language)?globalThis.String(t.language):void 0,message:f(t.message)?globalThis.String(t.message):void 0}),toJSON(t){const e={};return void 0!==t.url&&(e.url=t.url),void 0!==t.duration&&(e.duration=t.duration),0!==t.status&&(e.status=Math.round(t.status)),void 0!==t.remainingTime&&(e.remainingTime=Math.round(t.remainingTime)),void 0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.translationId&&(e.translationId=t.translationId),void 0!==t.language&&(e.language=t.language),void 0!==t.message&&(e.message=t.message),e},create:t=>s.fromPartial(t??{}),fromPartial(t){const e={url:void 0,duration:void 0,status:0,remainingTime:void 0,unknown0:void 0,translationId:"",language:void 0,message:void 0};return e.url=t.url??void 0,e.duration=t.duration??void 0,e.status=t.status??0,e.remainingTime=t.remainingTime??void 0,e.unknown0=t.unknown0??void 0,e.translationId=t.translationId??"",e.language=t.language??void 0,e.message=t.message??void 0,e}};const l={encode:(t,o=e.Writer.create())=>(""!==t.language&&o.uint32(10).string(t.language),""!==t.url&&o.uint32(18).string(t.url),0!==t.unknown0&&o.uint32(24).int32(t.unknown0),""!==t.translatedLanguage&&o.uint32(34).string(t.translatedLanguage),""!==t.translatedUrl&&o.uint32(42).string(t.translatedUrl),0!==t.unknown1&&o.uint32(48).int32(t.unknown1),0!==t.unknown2&&o.uint32(56).int32(t.unknown2),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={language:"",url:"",unknown0:0,translatedLanguage:"",translatedUrl:"",unknown1:0,unknown2:0};for(;a.pos>>3){case 1:if(10!==t)break;i.language=a.string();continue;case 2:if(18!==t)break;i.url=a.string();continue;case 3:if(24!==t)break;i.unknown0=a.int32();continue;case 4:if(34!==t)break;i.translatedLanguage=a.string();continue;case 5:if(42!==t)break;i.translatedUrl=a.string();continue;case 6:if(48!==t)break;i.unknown1=a.int32();continue;case 7:if(56!==t)break;i.unknown2=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({language:f(t.language)?globalThis.String(t.language):"",url:f(t.url)?globalThis.String(t.url):"",unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):0,translatedLanguage:f(t.translatedLanguage)?globalThis.String(t.translatedLanguage):"",translatedUrl:f(t.translatedUrl)?globalThis.String(t.translatedUrl):"",unknown1:f(t.unknown1)?globalThis.Number(t.unknown1):0,unknown2:f(t.unknown2)?globalThis.Number(t.unknown2):0}),toJSON(t){const e={};return""!==t.language&&(e.language=t.language),""!==t.url&&(e.url=t.url),0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.translatedLanguage&&(e.translatedLanguage=t.translatedLanguage),""!==t.translatedUrl&&(e.translatedUrl=t.translatedUrl),0!==t.unknown1&&(e.unknown1=Math.round(t.unknown1)),0!==t.unknown2&&(e.unknown2=Math.round(t.unknown2)),e},create:t=>l.fromPartial(t??{}),fromPartial(t){const e={language:"",url:"",unknown0:0,translatedLanguage:"",translatedUrl:"",unknown1:0,unknown2:0};return e.language=t.language??"",e.url=t.url??"",e.unknown0=t.unknown0??0,e.translatedLanguage=t.translatedLanguage??"",e.translatedUrl=t.translatedUrl??"",e.unknown1=t.unknown1??0,e.unknown2=t.unknown2??0,e}};const d={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.language&&o.uint32(18).string(t.language),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",language:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.language=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",language:f(t.language)?globalThis.String(t.language):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.language&&(e.language=t.language),e},create:t=>d.fromPartial(t??{}),fromPartial(t){const e={url:"",language:""};return e.url=t.url??"",e.language=t.language??"",e}};const u={encode(t,o=e.Writer.create()){!1!==t.waiting&&o.uint32(8).bool(t.waiting);for(const e of t.subtitles)l.encode(e,o.uint32(18).fork()).ldelim();return o},decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={waiting:!1,subtitles:[]};for(;a.pos>>3){case 1:if(8!==t)break;i.waiting=a.bool();continue;case 2:if(18!==t)break;i.subtitles.push(l.decode(a,a.uint32()));continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({waiting:!!f(t.waiting)&&globalThis.Boolean(t.waiting),subtitles:globalThis.Array.isArray(t?.subtitles)?t.subtitles.map((t=>l.fromJSON(t))):[]}),toJSON(t){const e={};return!1!==t.waiting&&(e.waiting=t.waiting),t.subtitles?.length&&(e.subtitles=t.subtitles.map((t=>l.toJSON(t)))),e},create:t=>u.fromPartial(t??{}),fromPartial(t){const e={waiting:!1,subtitles:[]};return e.waiting=t.waiting??!1,e.subtitles=t.subtitles?.map((t=>l.fromPartial(t)))||[],e}};const c={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.timestamp&&o.uint32(18).string(t.timestamp),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",timestamp:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.timestamp=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",timestamp:f(t.timestamp)?globalThis.String(t.timestamp):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.timestamp&&(e.timestamp=t.timestamp),e},create:t=>c.fromPartial(t??{}),fromPartial(t){const e={url:"",timestamp:""};return e.url=t.url??"",e.timestamp=t.timestamp??"",e}};const h={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.language&&o.uint32(18).string(t.language),""!==t.responseLanguage&&o.uint32(26).string(t.responseLanguage),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",language:"",responseLanguage:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.language=a.string();continue;case 3:if(26!==t)break;i.responseLanguage=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",language:f(t.language)?globalThis.String(t.language):"",responseLanguage:f(t.responseLanguage)?globalThis.String(t.responseLanguage):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.language&&(e.language=t.language),""!==t.responseLanguage&&(e.responseLanguage=t.responseLanguage),e},create:t=>h.fromPartial(t??{}),fromPartial(t){const e={url:"",language:"",responseLanguage:""};return e.url=t.url??"",e.language=t.language??"",e.responseLanguage=t.responseLanguage??"",e}};const p={encode:(t,o=e.Writer.create())=>(0!==t.interval&&o.uint32(8).int32(t.interval),void 0!==t.translatedInfo&&c.encode(t.translatedInfo,o.uint32(18).fork()).ldelim(),void 0!==t.pingId&&o.uint32(24).int32(t.pingId),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={interval:0,translatedInfo:void 0,pingId:void 0};for(;a.pos>>3){case 1:if(8!==t)break;i.interval=a.int32();continue;case 2:if(18!==t)break;i.translatedInfo=c.decode(a,a.uint32());continue;case 3:if(24!==t)break;i.pingId=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({interval:f(t.interval)?n(t.interval):0,translatedInfo:f(t.translatedInfo)?c.fromJSON(t.translatedInfo):void 0,pingId:f(t.pingId)?globalThis.Number(t.pingId):void 0}),toJSON(t){const e={};return 0!==t.interval&&(e.interval=function(t){switch(t){case a.NO_CONNECTION:return"NO_CONNECTION";case a.TRANSLATING:return"TRANSLATING";case a.STREAMING:return"STREAMING";case a.UNRECOGNIZED:default:return"UNRECOGNIZED"}}(t.interval)),void 0!==t.translatedInfo&&(e.translatedInfo=c.toJSON(t.translatedInfo)),void 0!==t.pingId&&(e.pingId=Math.round(t.pingId)),e},create:t=>p.fromPartial(t??{}),fromPartial(t){const e={interval:0,translatedInfo:void 0,pingId:void 0};return e.interval=t.interval??0,e.translatedInfo=void 0!==t.translatedInfo&&null!==t.translatedInfo?c.fromPartial(t.translatedInfo):void 0,e.pingId=t.pingId??void 0,e}};const g={encode:(t,o=e.Writer.create())=>(0!==t.pingId&&o.uint32(8).int32(t.pingId),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={pingId:0};for(;a.pos>>3){case 1:if(8!==t)break;i.pingId=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({pingId:f(t.pingId)?globalThis.Number(t.pingId):0}),toJSON(t){const e={};return 0!==t.pingId&&(e.pingId=Math.round(t.pingId)),e},create:t=>g.fromPartial(t??{}),fromPartial(t){const e={pingId:0};return e.pingId=t.pingId??0,e}};const m={encode:(t,o=e.Writer.create())=>(""!==t.uuid&&o.uint32(10).string(t.uuid),""!==t.module&&o.uint32(18).string(t.module),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={uuid:"",module:""};for(;a.pos>>3){case 1:if(10!==t)break;i.uuid=a.string();continue;case 2:if(18!==t)break;i.module=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({uuid:f(t.uuid)?globalThis.String(t.uuid):"",module:f(t.module)?globalThis.String(t.module):""}),toJSON(t){const e={};return""!==t.uuid&&(e.uuid=t.uuid),""!==t.module&&(e.module=t.module),e},create:t=>m.fromPartial(t??{}),fromPartial(t){const e={uuid:"",module:""};return e.uuid=t.uuid??"",e.module=t.module??"",e}};const v={encode:(t,o=e.Writer.create())=>(""!==t.secretKey&&o.uint32(10).string(t.secretKey),0!==t.expires&&o.uint32(16).int32(t.expires),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={secretKey:"",expires:0};for(;a.pos>>3){case 1:if(10!==t)break;i.secretKey=a.string();continue;case 2:if(16!==t)break;i.expires=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({secretKey:f(t.secretKey)?globalThis.String(t.secretKey):"",expires:f(t.expires)?globalThis.Number(t.expires):0}),toJSON(t){const e={};return""!==t.secretKey&&(e.secretKey=t.secretKey),0!==t.expires&&(e.expires=Math.round(t.expires)),e},create:t=>v.fromPartial(t??{}),fromPartial(t){const e={secretKey:"",expires:0};return e.secretKey=t.secretKey??"",e.expires=t.expires??0,e}};function f(t){return null!=t}const b={encodeTranslationRequest:(t,e,o,a,n)=>r.encode({url:t,firstRequest:!0,duration:e,unknown0:1,language:o,forceSourceLang:!1,unknown1:0,translationHelp:n||[],responseLanguage:a,unknown2:0,unknown3:1,bypassCache:!1}).finish(),decodeTranslationResponse:t=>s.decode(new Uint8Array(t)),encodeSubtitlesRequest:(t,e)=>d.encode({url:t,language:e}).finish(),decodeSubtitlesResponse:t=>u.decode(new Uint8Array(t)),encodeStreamPingRequest:t=>g.encode({pingId:t}).finish(),encodeStreamRequest:(t,e,o)=>h.encode({url:t,language:e,responseLanguage:o}).finish(),decodeStreamResponse:t=>p.decode(new Uint8Array(t)),encodeYandexSessionRequest:(t,e)=>m.encode({uuid:t,module:e}).finish(),decodeYandexSessionResponse:t=>v.decode(new Uint8Array(t))},y={host:"api.browser.yandex.ru",hostVOT:"vot-api.toil.cc/v1",mediaProxy:"media-proxy.toil.cc",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 YaBrowser/24.7.0.0 Safari/537.36",componentVersion:"24.7.3.1250",hmac:"bt8xH3VOlb4mqf0nqAibnDOoiPlXsisf",defaultDuration:343},w=new TextEncoder;async function x(t,e,o){const a=await crypto.subtle.importKey("raw",w.encode(e),{name:"HMAC",hash:{name:t}},!1,["sign","verify"]);return await crypto.subtle.sign("HMAC",a,o)}async function S(t){const e=await x("SHA-256",y.hmac,t);return new Uint8Array(e).reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}var k,T;!function(t){t.custom="custom",t.directlink="custom",t.youtube="youtube",t.piped="piped",t.invidious="invidious",t.vk="vk",t.nine_gag="nine_gag",t.gag="nine_gag",t.twitch="twitch",t.proxitok="proxitok",t.tiktok="tiktok",t.vimeo="vimeo",t.xvideos="xvideos",t.pornhub="pornhub",t.twitter="twitter",t.rumble="rumble",t.facebook="facebook",t.rutube="rutube",t.coub="coub",t.bilibili="bilibili",t.mail_ru="mailru",t.mailru="mailru",t.bitchute="bitchute",t.eporner="eporner",t.peertube="peertube",t.dailymotion="dailymotion",t.trovo="trovo",t.yandexdisk="yandexdisk",t.ok_ru="okru",t.okru="okru",t.googledrive="googledrive",t.bannedvideo="bannedvideo",t.weverse="weverse",t.newgrounds="newgrounds",t.egghead="egghead",t.youku="youku",t.archive="archive",t.kodik="kodik",t.patreon="patreon",t.reddit="reddit",t.kick="kick",t.apple_developer="apple_developer",t.appledeveloper="apple_developer",t.poketube="poketube",t.epicgames="epicgames",t.nineanimetv="nineanimetv",t.odysee="odysee",t.coursehunter="coursehunter",t.sap="sap",t.udemy="udemy",t.coursera="coursera",t.watchpornto="watchpornto",t.linkedin="linkedin"}(k||(k={})),function(t){t[t.FAILED=0]="FAILED",t[t.FINISHED=1]="FINISHED",t[t.WAITING=2]="WAITING",t[t.LONG_WAITING=3]="LONG_WAITING",t[t.PART_CONTENT=5]="PART_CONTENT",t[t.LONG_WAITING_2=6]="LONG_WAITING_2"}(T||(T={}));const C={afr:"af",aka:"ak",alb:"sq",amh:"am",ara:"ar",arm:"hy",asm:"as",aym:"ay",aze:"az",baq:"eu",bel:"be",ben:"bn",bos:"bs",bul:"bg",bur:"my",cat:"ca",chi:"zh",cos:"co",cze:"cs",dan:"da",div:"dv",dut:"nl",eng:"en",epo:"eo",est:"et",ewe:"ee",fin:"fi",fre:"fr",fry:"fy",geo:"ka",ger:"de",gla:"gd",gle:"ga",glg:"gl",gre:"el",grn:"gn",guj:"gu",hat:"ht",hau:"ha",hin:"hi",hrv:"hr",hun:"hu",ibo:"ig",ice:"is",ind:"id",ita:"it",jav:"jv",jpn:"ja",kan:"kn",kaz:"kk",khm:"km",kin:"rw",kir:"ky",kor:"ko",kur:"ku",lao:"lo",lat:"la",lav:"lv",lin:"ln",lit:"lt",ltz:"lb",lug:"lg",mac:"mk",mal:"ml",mao:"mi",mar:"mr",may:"ms",mlg:"mg",mlt:"mt",mon:"mn",nep:"ne",nor:"no",nya:"ny",ori:"or",orm:"om",pan:"pa",per:"fa",pol:"pl",por:"pt",pus:"ps",que:"qu",rum:"ro",rus:"ru",san:"sa",sin:"si",slo:"sk",slv:"sl",smo:"sm",sna:"sn",snd:"sd",som:"so",sot:"st",spa:"es",srp:"sr",sun:"su",swa:"sw",swe:"sv",tam:"ta",tat:"tt",tel:"te",tgk:"tg",tha:"th",tir:"ti",tso:"ts",tuk:"tk",tur:"tr",uig:"ug",ukr:"uk",urd:"ur",uzb:"uz",vie:"vi",wel:"cy",xho:"xh",yid:"yi",yor:"yo",zul:"zu"};async function L(t,e={headers:{"User-Agent":y.userAgent}}){const{timeout:o=3e3,...a}=e,n=new AbortController,i=setTimeout((()=>n.abort()),o),r=await fetch(t,{signal:n.signal,...a});return clearTimeout(i),r}function V(t){return 3===t.length?C[t]:t.toLowerCase().split(/[_;-]/)[0].trim()}function A(t,e="mp4"){return`https://${y.mediaProxy}/v1/proxy/video.${e}?url=${encodeURIComponent(t.href)}&origin=${t.origin}&referer=${t.origin}`}const I=[{additionalData:"mobile",host:k.youtube,url:"https://youtu.be/",match:/^m.youtube.com$/,selector:"shorts-video #player"},{additionalData:"mobile",host:k.youtube,url:"https://youtu.be/",match:/^m.youtube.com$/,selector:".player-container"},{host:k.youtube,url:"https://youtu.be/",match:/^(www.)?youtube(-nocookie|kids)?.com$/,selector:".html5-video-container:not(#inline-player *)"},{host:k.invidious,url:"https://youtu.be/",match:["yewtu.be","yt.artemislena.eu","invidious.flokinet.to","iv.melmac.space","inv.nadeko.net","inv.tux.pizza","invidious.private.coffee","yt.drgnz.club","vid.puffyan.us","invidious.dhusch.de"],selector:"#player",needBypassCSP:!0},{host:k.piped,url:"https://youtu.be/",match:["piped.video","piped.tokhmi.xyz","piped.moomoo.me","piped.syncpundit.io","piped.mha.fi","watch.whatever.social","piped.garudalinux.org","efy.piped.pages.dev","watch.leptons.xyz","piped.lunar.icu","yt.dc09.ru","piped.mint.lgbt","il.ax","piped.privacy.com.de","piped.esmailelbob.xyz","piped.projectsegfau.lt","piped.in.projectsegfau.lt","piped.us.projectsegfau.lt","piped.privacydev.net","piped.palveluntarjoaja.eu","piped.smnz.de","piped.adminforge.de","piped.qdi.fi","piped.hostux.net","piped.chauvet.pro","piped.jotoma.de","piped.pfcd.me","piped.frontendfriendly.xyz"],selector:".shaka-video-container",needBypassCSP:!0},{host:k.poketube,url:"https://youtu.be/",match:["poketube.fun","pt.sudovanilla.org","poke.ggtyler.dev","poke.uk2.littlekai.co.uk","poke.blahai.gay"],selector:".video-player-container"},{additionalData:"mobile",host:k.vk,url:"https://vk.com/video?z=",match:/^m.vk.(com|ru)$/,selector:"vk-video-player",shadowRoot:!0},{additionalData:"clips",host:k.vk,url:"https://vk.com/video?z=",match:/^(www.|m.)?vk.(com|ru)$/,selector:'div[data-testid="clipcontainer-video"]'},{host:k.vk,url:"https://vk.com/video?z=",match:/^(www.|m.)?vk.(com|ru)$/,selector:".videoplayer_media"},{host:k.nine_gag,url:"https://9gag.com/gag/",match:/^9gag.com$/,selector:".video-post"},{host:k.twitch,url:"https://twitch.tv/",match:[/^m.twitch.tv$/,/^(www.)?twitch.tv$/,/^clips.twitch.tv$/,/^player.twitch.tv$/],selector:".video-ref, main > div > section > div > div > div"},{host:k.proxitok,url:"https://www.tiktok.com/",match:["proxitok.pabloferreiro.es","proxitok.pussthecat.org","tok.habedieeh.re","proxitok.esmailelbob.xyz","proxitok.privacydev.net","tok.artemislena.eu","tok.adminforge.de","tt.vern.cc","cringe.whatever.social","proxitok.lunar.icu","proxitok.privacy.com.de"],selector:".column.has-text-centered"},{host:k.tiktok,url:"https://www.tiktok.com/",match:/^(www.)?tiktok.com$/,selector:null},{host:k.vimeo,url:"https://vimeo.com/",match:/^vimeo.com$/,needExtraData:!0,selector:".player"},{host:k.vimeo,url:"https://player.vimeo.com/",match:/^player.vimeo.com$/,additionalData:"embed",needExtraData:!0,needBypassCSP:!0,selector:".player"},{host:k.xvideos,url:"https://www.xvideos.com/",match:/^(www.)?(xvideos|xv-ru).com$/,selector:".video-bg-pic",needBypassCSP:!0},{host:k.pornhub,url:"https://rt.pornhub.com/view_video.php?viewkey=",match:/^[a-z]+.pornhub.com$/,selector:".mainPlayerDiv > .video-element-wrapper-js > div",eventSelector:".mgp_eventCatcher"},{additionalData:"embed",host:k.pornhub,url:"https://rt.pornhub.com/view_video.php?viewkey=",match:t=>t.host.includes("pornhub.com")&&t.pathname.startsWith("/embed/"),selector:"#player"},{host:k.twitter,url:"https://twitter.com/i/status/",match:/^(twitter|x).com$/,selector:'div[data-testid="videoComponent"] > div:nth-child(1) > div',eventSelector:'div[data-testid="videoPlayer"]',needBypassCSP:!0},{host:k.rumble,url:"https://rumble.com/",match:/^rumble.com$/,selector:"#videoPlayer > .videoPlayer-Rumble-cls > div"},{host:k.facebook,url:"https://facebook.com/",match:t=>t.host.includes("facebook.com")&&t.pathname.includes("/videos/"),selector:'div[role="main"] div[data-pagelet$="video" i]',needBypassCSP:!0},{additionalData:"reels",host:k.facebook,url:"https://facebook.com/",match:t=>t.host.includes("facebook.com")&&t.pathname.includes("/reel/"),selector:'div[role="main"]',needBypassCSP:!0},{host:k.rutube,url:"https://rutube.ru/video/",match:/^rutube.ru$/,selector:".video-player > div > div > div:nth-child(2)"},{additionalData:"embed",host:k.rutube,url:"https://rutube.ru/video/",match:/^rutube.ru$/,selector:"#app > div > div"},{host:k.bilibili,url:"https://www.bilibili.com/video/",match:/^(www|m|player).bilibili.com$/,selector:".bpx-player-video-wrap"},{additionalData:"old",host:k.bilibili,url:"https://www.bilibili.com/video/",match:/^(www|m).bilibili.com$/,selector:null},{host:k.mailru,url:"https://my.mail.ru/",match:/^my.mail.ru$/,selector:"#b-video-wrapper"},{host:k.bitchute,url:"https://www.bitchute.com/video/",match:/^(www.)?bitchute.com$/,selector:".video-js"},{host:k.eporner,url:"https://www.eporner.com/",match:/^(www.)?eporner.com$/,selector:".vjs-v7"},{host:k.peertube,url:"stub",match:["peertube.1312.media","tube.shanti.cafe","bee-tube.fr","video.sadmin.io","dalek.zone","review.peertube.biz","peervideo.club","tube.la-dina.net","peertube.tmp.rcp.tf","peertube.su","video.blender.org","videos.viorsan.com","tube-sciences-technologies.apps.education.fr","tube-numerique-educatif.apps.education.fr","tube-arts-lettres-sciences-humaines.apps.education.fr","beetoons.tv","comics.peertube.biz","makertube.net"],selector:".vjs-v7"},{host:k.dailymotion,url:"https://dai.ly/",match:/^geo([\d]+)?.dailymotion.com$/,selector:".player"},{host:k.trovo,url:"https://trovo.live/s/",match:/^trovo.live$/,selector:".player-video"},{host:k.yandexdisk,url:"https://yadi.sk/i/",match:/^disk.yandex.ru$/,selector:".video-player__player > div:nth-child(1)",eventSelector:".video-player__player",needBypassCSP:!0},{host:k.okru,url:"https://ok.ru/video/",match:/^ok.ru$/,selector:".html5-vpl_vid"},{host:k.googledrive,url:"https://drive.google.com/file/d/",match:/^youtube.googleapis.com$/,selector:".html5-video-container"},{host:k.bannedvideo,url:"https://madmaxworld.tv/watch?id=",match:/^(www.)?banned.video|madmaxworld.tv$/,selector:".vjs-v7",needExtraData:!0},{host:k.weverse,url:"https://weverse.io/",match:/^weverse.io$/,selector:".webplayer-internal-source-wrapper",needExtraData:!0},{host:k.newgrounds,url:"https://www.newgrounds.com/",match:/^(www.)?newgrounds.com$/,selector:".ng-video-player"},{host:k.egghead,url:"https://egghead.io/",match:/^egghead.io$/,selector:".cueplayer-react-video-holder"},{host:k.youku,url:"https://v.youku.com/",match:/^v.youku.com$/,selector:"#ykPlayer"},{host:k.archive,url:"https://archive.org/details/",match:/^archive.org$/,selector:".jw-media"},{host:k.kodik,url:"stub",match:/^kodik.(info|biz|cc)$/,selector:".fp-player",needExtraData:!0},{host:k.patreon,url:"stub",match:/^(www.)?patreon.com$/,selector:'div[data-tag="post-card"] div[elevation="subtle"] > div > div > div > div',needExtraData:!0},{host:k.reddit,url:"stub",match:/^(www.|new.|old.)?reddit.com$/,selector:".reddit-video-player-root",needExtraData:!0,needBypassCSP:!0},{host:k.kick,url:"https://kick.com/",match:/^kick.com$/,selector:"#injected-embedded-channel-player-video > div",needExtraData:!0},{host:k.appledeveloper,url:"https://developer.apple.com/",match:/^developer.apple.com$/,selector:".developer-video-player",needExtraData:!0,needBypassCSP:!0},{host:k.epicgames,url:"https://dev.epicgames.com/community/learning/",match:/^dev.epicgames.com$/,selector:".vjs-v7",needExtraData:!0},{host:k.nineanimetv,url:"https://9animetv.to/watch/",match:/^rapid-cloud.co$/,selector:".jw-media",needExtraData:!0},{host:k.odysee,url:"stub",match:/^odysee.com$/,selector:".vjs-v7",needExtraData:!0},{host:k.coursehunter,url:"https://coursehunter.net/course/",match:/^coursehunter.net$/,selector:"#oframeplayer > pjsdiv:nth-of-type(1)",needExtraData:!0},{host:k.sap,url:"https://learning.sap.com/courses/",match:/^learning.sap.com$/,selector:".playkit-container",eventSelector:".playkit-player",needExtraData:!0,needBypassCSP:!0},{host:k.udemy,url:"https://www.udemy.com/",match:/udemy.com$/,selector:'div[data-purpose="curriculum-item-viewer-content"] > section > div > div > div > div:nth-of-type(2)',needExtraData:!0},{host:k.coursera,url:"https://www.coursera.org/",match:/coursera.org$/,selector:".vjs-v8",needExtraData:!0},{host:k.watchpornto,url:"https://watchporn.to/",match:/^watchporn.to$/,selector:".fp-player"},{host:k.linkedin,url:"https://www.linkedin.com/learning/",match:/^(www.)?linkedin.com$/,selector:".vjs-v7",needExtraData:!0,needBypassCSP:!0},{host:k.custom,url:"stub",match:t=>/([^.]+).(mp4|webm)/.test(t.pathname),rawResult:!0}],O=JSON.parse('{"__version__":5,"recommended":"recommended","translateVideo":"Translate video","disableTranslate":"Turn off","translationSettings":"Translation settings","subtitlesSettings":"Subtitles settings","about":"About extension","resetSettings":"Reset settings","videoBeingTranslated":"The video is being translated","videoLanguage":"Video language","translationLanguage":"Translation language","translationTake":"The translation will take","translationTakeMoreThanHour":"The translation will take more than an hour","translationTakeAboutMinute":"The translation will take about a minute","translationTakeFewMinutes":"The translation will take a few minutes","translationTakeApproximatelyMinutes":"The translation will take approximately {0} minutes","translationTakeApproximatelyMinute":"The translation will take approximately {0} minutes","unSupportedExtensionError":"Error! {0} is not supported by this version of the extension!\\n\\nPlease use the cloudflare version of the VOT extension.","requestTranslationFailed":"Failed to request video translation","audioNotReceived":"Audio link not received","grantPermissionToAutoPlay":"Grant permission to autoplay","audioFormatNotSupported":"The audio format is not supported","VOTAutoTranslate":"Translate on open","VOTDontTranslateYourLang":"Do not translate from my language","VOTVolume":"Video volume","VOTVolumeTranslation":"Translation Volume","VOTAutoSetVolume":"Reduce video volume to ","VOTShowVideoSlider":"Video volume slider","VOTSyncVolume":"Link translation and video volume","VOTAudioProxy":"Proxy received audio","VOTDisableFromYourLang":"You have disabled the translation of the video in your language","VOTLiveNotSupported":"Translation of live streams is not supported","VOTPremiere":"Wait for the premiere to end before translating","VOTVideoIsTooLong":"Video is too long","VOTNoVideoIDFound":"No video ID found","VOTSubtitles":"Subtitles","VOTSubtitlesDisabled":"Disabled","VOTSubtitlesMaxLength":"Subtitles max length","VOTHighlightWords":"Highlight words","VOTTranslatedFrom":"translated from","VOTAutogenerated":"autogenerated","VOTSettings":"VOT Settings","VOTMenuLanguage":"Menu language","VOTAuthors":"Authors","VOTVersion":"Version","VOTLoader":"Loader","VOTBrowser":"Browser","VOTShowPiPButton":"Show PiP button","langs":{"auto":"Auto","af":"Afrikaans","ak":"Akan","sq":"Albanian","am":"Amharic","ar":"Arabic","hy":"Armenian","as":"Assamese","ay":"Aymara","az":"Azerbaijani","bn":"Bangla","eu":"Basque","be":"Belarusian","bho":"Bhojpuri","bs":"Bosnian","bg":"Bulgarian","my":"Burmese","ca":"Catalan","ceb":"Cebuano","zh":"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)","co":"Corsican","hr":"Croatian","cs":"Czech","da":"Danish","dv":"Divehi","nl":"Dutch","en":"English","eo":"Esperanto","et":"Estonian","ee":"Ewe","fil":"Filipino","fi":"Finnish","fr":"French","gl":"Galician","lg":"Ganda","ka":"Georgian","de":"German","el":"Greek","gn":"Guarani","gu":"Gujarati","ht":"Haitian Creole","ha":"Hausa","haw":"Hawaiian","iw":"Hebrew","hi":"Hindi","hmn":"Hmong","hu":"Hungarian","is":"Icelandic","ig":"Igbo","id":"Indonesian","ga":"Irish","it":"Italian","ja":"Japanese","jv":"Javanese","kn":"Kannada","kk":"Kazakh","km":"Khmer","rw":"Kinyarwanda","ko":"Korean","kri":"Krio","ku":"Kurdish","ky":"Kyrgyz","lo":"Lao","la":"Latin","lv":"Latvian","ln":"Lingala","lt":"Lithuanian","lb":"Luxembourgish","mk":"Macedonian","mg":"Malagasy","ms":"Malay","ml":"Malayalam","mt":"Maltese","mi":"Māori","mr":"Marathi","mn":"Mongolian","ne":"Nepali","nso":"Northern Sotho","no":"Norwegian","ny":"Nyanja","or":"Odia","om":"Oromo","ps":"Pashto","fa":"Persian","pl":"Polish","pt":"Portuguese","pa":"Punjabi","qu":"Quechua","ro":"Romanian","ru":"Russian","sm":"Samoan","sa":"Sanskrit","gd":"Scottish Gaelic","sr":"Serbian","sn":"Shona","sd":"Sindhi","si":"Sinhala","sk":"Slovak","sl":"Slovenian","so":"Somali","st":"Southern Sotho","es":"Spanish","su":"Sundanese","sw":"Swahili","sv":"Swedish","tg":"Tajik","ta":"Tamil","tt":"Tatar","te":"Telugu","th":"Thai","ti":"Tigrinya","ts":"Tsonga","tr":"Turkish","tk":"Turkmen","uk":"Ukrainian","ur":"Urdu","ug":"Uyghur","uz":"Uzbek","vi":"Vietnamese","cy":"Welsh","fy":"Western Frisian","xh":"Xhosa","yi":"Yiddish","yo":"Yoruba","zu":"Zulu"},"udemyModuleArgsNotFound":"Could not get udemy module data due to the fact that ModuleArgs was not found","VOTTranslationHelpNull":"Could not get the data required for the translate","streamNoConnectionToServer":"There is no connection to the server","searchField":"Search...","VOTTranslateAPIErrors":"Translate errors from the API","VOTTranslationService":"Translation Service","VOTDetectService":"Detect Service","VOTTranslatingError":"Translating the error","VOTProxyWorkerHost":"Enter the proxy worker address","VOTM3u8ProxyHost":"Enter the address of the m3u8 proxy worker","proxySettings":"Proxy Settings","translationTakeApproximatelyMinute2":"The translation will take approximately {0} minutes","VOTAudioBooster":"Extended translation volume increase","VOTSubtitlesDesign":"Subtitles design","VOTSubtitlesFontSize":"Font size of subtitles","VOTSubtitlesOpacity":"Transparency of the subtitle background","VOTPressNewHotkey":"Press the new hotkey...","VOTCreateTranslationHotkey":"Create Hotkey for Translation","VOTChangeHotkeyWithCurrent":"Change Hotkey (Current: {0})","VOTSubtitlesDownloadFormat":"The format for downloading subtitles","VOTDownloadWithName":"Download files with the video name","VOTUpdateLocaleFiles":"Update localization files","VOTLocaleHash":"Locale hash","VOTUpdatedAt":"Updated at","VOTNeedWebAudioAPI":"To enable this, you must have a Web Audio API","VOTBypassMediaCSP":"Bypassing Media CSP","VOTMediaCSPEnabledOnSite":"Media CSP is enabled on this site"}'),P={log:(...t)=>{}},M=P,E="media-proxy.toil.cc/v1/proxy/m3u8",_="vot-worker.toil.cc",$="https://vot.toil.cc/v1",N=.15,R="yandex",B="yandex",D={yandex:"https://translate.toil.cc/detect",rustServer:"https://rust-server-531j.onrender.com/detect"},F={yandex:"https://translate.toil.cc/translate",deepl:"https://translate-deepl.toil.cc/translate"},q=new class{constructor(){this.gmSupport="function"==typeof GM_getValue,M.log(`GM Storage Status: ${this.gmSupport}`)}syncGet(t,e=void 0){if(this.gmSupport)return GM_getValue(t,e);const o="number"==typeof e;const a=window.localStorage.getItem(t)??e;return o?Number(a):a}async get(t,e=void 0){if(this.gmSupport)return await GM_getValue(t,e);const o="number"==typeof e;return Promise.resolve(this.syncGet(t,e,o))}syncSet(t,e){return this.gmSupport?GM_setValue(t,e):window.localStorage.setItem(t,e)}async set(t,e){return this.gmSupport?await GM_setValue(t,e):Promise.resolve(this.syncSet(t,e))}syncDelete(t){return this.gmSupport?GM_deleteValue(t):window.localStorage.removeItem(t)}async delete(t){return this.gmSupport?await GM_deleteValue(t):Promise.resolve(this.syncDelete(t))}syncList(){return this.gmSupport?GM_listValues():["autoTranslate","dontTranslateLanguage","dontTranslateYourLang","autoSetVolumeYandexStyle","autoVolume","buttonPos","showVideoSlider","syncVolume","subtitlesMaxLength","highlightWords","responseLanguage","defaultVolume","audioProxy","showPiPButton","translateAPIErrors","translationService","detectService","m3u8ProxyHost","translateProxyEnabled","hotkeyButton","proxyWorkerHost","audioBooster","locale-version","locale-lang","locale-phrases"]}async list(){return this.gmSupport?await GM_listValues():Promise.resolve(this.syncList())}},U="https://raw.githubusercontent.com/ilyhalight/voice-over-translation/master/src/localization",H=["auto","en","ru","af","am","ar","az","bg","bn","bs","ca","cs","cy","da","de","el","es","et","eu","fa","fi","fr","gl","hi","hr","hu","hy","id","it","ja","jv","kk","km","kn","ko","lo","mk","ml","mn","ms","mt","my","ne","nl","pa","pl","pt","ro","si","sk","sl","sq","sr","su","sv","sw","tr","uk","ur","uz","vi","zh","zu"],z=new class{lang="en";locale={};gmValues=["locale-phrases","locale-lang","locale-version","locale-lang-override"];constructor(){const t=q.syncGet("locale-lang-override","auto");this.lang=t&&"auto"!==t?t:(navigator.language||navigator.userLanguage)?.substr(0,2)?.toLowerCase()??"en",this.setLocaleFromJsonString(q.syncGet("locale-phrases",""))}reset(){for(let t=0;ta&&o===this.lang)return;const n=await this.checkUpdates();if(await q.set("locale-updated-at",a),n){M.log("Updating locale...");try{const t=await Q(`${U}/locales/${this.lang}.json`);if(200!==t.status)throw t.status;const e=await t.text();await q.set("locale-phrases",e),this.setLocaleFromJsonString(e),await q.set("locale-hash",n),await q.set("locale-lang",this.lang)}catch(t){console.error("[VOT] [localizationProvider] Failed to get locale, cause:",t),this.setLocaleFromJsonString(await q.get("locale-phrases",""))}}}setLocaleFromJsonString(t){try{this.locale=JSON.parse(t)??{}}catch(t){console.error("[VOT] [localizationProvider]",t),this.locale={}}}getFromLocale(t,e){const o=e.split(".").reduce(((t,e)=>{if("object"==typeof t&&t)return t[e]}),t);return void 0===o&&console.warn("[VOT] [localizationProvider] locale",t,"doesn't contain key",e),o}getDefault(t){return this.getFromLocale(O,t)??t}get(t){return this.getFromLocale(this.locale,t)??this.getFromLocale(O,t)??t}},W=navigator.language||navigator.userLanguage,j=W?.substr(0,2)?.toLowerCase()??"en";function G(t){return t.toLowerCase().split(/[_;-]/)[0].trim()}function Y(){return"pictureInPictureEnabled"in document&&document.pictureInPictureEnabled}function K(){return"undefined"!=typeof Hls&&Hls?.isSupported()?new Hls({debug:!1,lowLatencyMode:!0,backBufferLength:90}):void 0}const J=new RegExp([/(?:https?|ftp):\/\/\S+/g,/https?:\/\/\S+|www\.\S+/gm,/\b\S+\.\S+/gm,/#[^\s#]+/g,/Auto-generated by YouTube/g,/Provided to YouTube by/g,/Released on/g,/0x[a-fA-F0-9]{40}/g,/[13][a-km-zA-HJ-NP-Z1-9]{25,34}/g,/4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}/g,/Paypal/g].map((t=>t.source)).join("|"));function Z(t,e){const o=URL.createObjectURL(t),a=document.createElement("a");a.href=o,a.download=e,a.click(),URL.revokeObjectURL(o)}function X(t){return 0===t.trim().length?(new Date).toLocaleDateString("en-us").replaceAll("/","-"):t.replace(/[\\/:*?"'<>|]/g,"")}async function Q(t,e={}){const{timeout:o=15e3,...a}=e,n=new AbortController,i=setTimeout((()=>n.abort()),o);try{if(t.includes("api.browser.yandex.ru"))throw new Error("Preventing yandex cors");const e=await fetch(t,{signal:n.signal,...a});return clearTimeout(i),e}catch(e){return M.log("GM_fetch preventing cors by GM_xmlhttpRequest",e.message),new Promise(((e,n)=>{clearTimeout(i),GM_xmlhttpRequest({method:a.method||"GET",url:t,responseType:"blob",...a,data:a.body,timeout:o,onload:t=>{const o=Object.fromEntries(t.responseHeaders.trim().split(/\r?\n/).map((t=>t.split(/: (.+)/))).filter((([t])=>t&&/^[\w-]+$/.test(t))));e(new Response(t.response,{status:t.status,headers:o}))},ontimeout:()=>n(new Error("Timeout")),onerror:t=>n(t),onabort:()=>n(new Error("AbortError"))})}))}}function tt(){return Math.floor(Date.now()/1e3)}class et extends Error{constructor(t){super(t),this.name="VideoHelper",this.message=t}}class ot{API_ORIGIN="https://example.com";fetch;extraInfo;referer;service;constructor({fetchFn:t=Q,extraInfo:e=!0,referer:o=document.referrer??window.location.origin+"/",service:a}={}){this.fetch=t,this.extraInfo=e,this.referer=o,this.service=a}async getVideoData(t){}async getVideoId(t){}returnBaseData(t){if(this.service)return{url:this.service.url+t,videoId:t,host:this.service.host,duration:void 0}}}const at=["auto","ru","en","zh","ko","lt","lv","ar","fr","it","es","de","ja"],nt=["ru","en","kk"],it=["srt","vtt","json"];const rt={[k.mailru]:class extends ot{API_ORIGIN="https://my.mail.ru";async getVideoMeta(t){try{const e=await this.fetch(`${this.API_ORIGIN}/+/video/meta/${t}?xemail=&ajax_call=1&func_name=&mna=&mnb=&ext=1&_=${(new Date).getTime()}`);return await e.json()}catch(t){return void console.error("Failed to get mail.ru video data",t.message)}}async getVideoId(t){const e=t.pathname;if(/\/(v|mail|bk|inbox)\//.exec(e))return e.slice(1);const o=/video\/embed\/([^/]+)/.exec(e)?.[1];if(!o)return;const a=await this.getVideoMeta(o);return a?a.meta.url.replace("//my.mail.ru/",""):void 0}},[k.weverse]:class extends ot{API_ORIGIN="https://global.apis.naver.com/weverse/wevweb";API_APP_ID="be4d79eb8fc7bd008ee82c8ec4ff6fd4";API_HMAC_KEY="1b9cb6378d959b45714bec49971ade22e6e24e42";HEADERS={Accept:"application/json, text/plain, */*",Origin:"https://weverse.io",Referer:"https://weverse.io/"};getURLData(){return{appId:this.API_APP_ID,language:"en",os:"WEB",platform:"WEB",wpf:"pc"}}async createHash(t){const e=Date.now(),o=t.substring(0,Math.min(255,t.length))+e,a=await async function(t,e){try{const o=w.encode(e),a=await x("SHA-1",t,o);return btoa(String.fromCharCode(...new Uint8Array(a)))}catch(t){return console.error(t),!1}}(this.API_HMAC_KEY,o);if(!a)throw new et("Failed to get weverse HMAC signature");return{wmsgpad:e.toString(),wmd:a}}async getHashURLParams(t){const e=await this.createHash(t);return new URLSearchParams(e).toString()}async getPostPreview(t){const e=`/post/v1.0/post-${t}/preview?`+new URLSearchParams({fieldSet:"postForPreview",...this.getURLData()}).toString();try{const t=await this.getHashURLParams(e),o=await this.fetch(this.API_ORIGIN+e+"&"+t,{headers:this.HEADERS});return await o.json()}catch(e){return console.error(`Failed to get weverse post preview by postId: ${t}`,e.message),!1}}async getVideoInKey(t){const e=`/video/v1.1/vod/${t}/inKey?`+new URLSearchParams({gcc:"RU",...this.getURLData()}).toString();try{const t=await this.getHashURLParams(e),o=await this.fetch(this.API_ORIGIN+e+"&"+t,{method:"POST",headers:this.HEADERS});return await o.json()}catch(e){return console.error(`Failed to get weverse InKey by videoId: ${t}`,e.message),!1}}async getVideoInfo(t,e,o){const a=Date.now();try{const n=new URLSearchParams({key:e,sid:o,nonce:a.toString(),devt:"html5_pc",prv:"N",aup:"N",stpb:"N",cpl:"en",env:"prod",lc:"en",adi:JSON.stringify([{adSystem:null}]),adu:"/"}).toString(),i=await this.fetch(`https://global.apis.naver.com/rmcnmv/rmcnmv/vod/play/v2.0/${t}?`+n,{headers:this.HEADERS});return await i.json()}catch(a){return console.error(`Failed to get weverse video info (infraVideoId: ${t}, inkey: ${e}, serviceId: ${o}`,a.message),!1}}extractVideoInfo(t){return t.find((t=>!1===t.useP2P&&t.source.includes(".mp4")))}async getVideoData(t){const e=await this.getPostPreview(t);if(!e)return;const{videoId:o,serviceId:a,infraVideoId:n}=e.extension.video;if(!(o&&a&&n))return;const i=await this.getVideoInKey(o);if(!i)return;const r=await this.getVideoInfo(n,i.inKey,a);if(!r)return;const s=this.extractVideoInfo(r.videos.list);return s?{url:s.source,duration:s.duration}:void 0}async getVideoId(t){return/([^/]+)\/(live|media)\/([^/]+)/.exec(t.pathname)?.[3]}},[k.kodik]:class extends ot{API_ORIGIN=window.location.origin;async getSecureData(t){try{const e=await this.fetch(`${this.API_ORIGIN}${t}`,{headers:{"User-Agent":y.userAgent,Origin:this.API_ORIGIN,Referer:this.API_ORIGIN}}),o=await e.text(),[a,n,i]=t.split("/").filter((t=>t)),r=(new DOMParser).parseFromString(o,"text/html"),s=Array.from(r.getElementsByTagName("script")).filter((t=>t.innerHTML.includes(`videoId = "${n}"`)));if(!s.length)throw new et("Failed to find secure script");const l=/'{[^']+}'/.exec(s[0].textContent.trim())?.[0];if(!l)throw new et("Secure json wasn't found in secure script");const d=JSON.parse(l.replaceAll("'",""));return{videoType:a,videoId:n,hash:i,...d}}catch(e){return console.error(`Failed to get kodik secure data by videoPath: ${t}.`,e.message),!1}}async getFtor(t){const{videoType:e,videoId:o,hash:a,d:n,d_sign:i,pd:r,pd_sign:s,ref:l,ref_sign:d}=t;try{const t=await this.fetch(this.API_ORIGIN+"/ftor",{method:"POST",headers:{"User-Agent":y.userAgent,Origin:this.API_ORIGIN,Referer:`${this.API_ORIGIN}/${e}/${o}/${a}/360p`},body:new URLSearchParams({d:n,d_sign:i,pd:r,pd_sign:s,ref:decodeURIComponent(l),ref_sign:d,bad_user:"false",cdn_is_working:"true",info:"{}",type:e,hash:a,id:o})});return await t.json()}catch(t){return console.error(`Failed to get kodik video data (type: ${e}, id: ${o}, hash: ${a})`,t.message),!1}}decryptUrl(t){const e=atob(t.replace(/[a-zA-Z]/g,(function(t){const e=t.charCodeAt(0)+13,o=t<="Z"?90:122;return String.fromCharCode(o>=e?e:e-26)})));return"https:"+e}async getVideoData(t){const e=await this.getSecureData(t);if(!e)return;const o=await this.getFtor(e);if(!o)return;const a=Object.entries(o.links[o.default.toString()]),n=a.find((([t,e])=>"application/x-mpegURL"===e.type))?.[1];return n?{url:this.decryptUrl(n.src)}:void 0}async getVideoId(t){return/\/(seria|video)\/([^/]+)\/([^/]+)\/([\d]+)p/.exec(t.pathname)?.[0]}},[k.patreon]:class extends ot{API_ORIGIN="https://www.patreon.com/api";async getPosts(t){try{const e=await this.fetch(`${this.API_ORIGIN}/posts/${t}?json-api-use-default-includes=false`);return await e.json()}catch(e){return console.error(`Failed to get patreon posts by postId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getPosts(t);if(!e)return;const o=e.data.attributes.post_file.url;return o?{url:o}:void 0}async getVideoId(t){const e=/posts\/([^/]+)/.exec(t.pathname)?.[1];if(e)return e.replace(/[^\d.]/g,"")}},[k.reddit]:class extends ot{API_ORIGIN="https://www.reddit.com";async getVideoData(t){try{const t=document.querySelector("[data-hls-url]")?.dataset.hlsUrl.replaceAll("&","&");if(!t)throw new et("Failed to find content url");return{url:decodeURIComponent(t)}}catch(e){return void console.error(`Failed to get reddit video data by video ID: ${t}`,e.message)}}async getVideoId(t){return/\/r\/(([^/]+)\/([^/]+)\/([^/]+)\/([^/]+))/.exec(t.pathname)?.[1]}},[k.bannedvideo]:class extends ot{API_ORIGIN="https://api.banned.video";async getVideoInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/graphql`,{method:"POST",body:JSON.stringify({operationName:"GetVideo",query:"query GetVideo($id: String!) {\n getVideo(id: $id) {\n title\n description: summary\n duration: videoDuration\n videoUrl: directUrl\n isStream: live\n }\n }",variables:{id:t}}),headers:{"User-Agent":"bannedVideoFrontEnd","apollographql-client-name":"banned-web","apollographql-client-version":"1.3","content-type":"application/json"}});return await e.json()}catch(e){return console.error(`Failed to get bannedvideo video info by videoId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getVideoInfo(t);if(!e)return;const{videoUrl:o,duration:a,isStream:n,description:i,title:r}=e.data.getVideo;return{url:o,duration:a,isStream:n,title:r,description:i}}async getVideoId(t){return t.searchParams.get("id")??void 0}},[k.kick]:class extends ot{API_ORIGIN="https://kick.com/api";async getClipInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/v2/clips/${t}`),o=await e.json(),{clip_url:a,duration:n,title:i}=o.clip;return{url:a,duration:n,title:i}}catch(e){return void console.error(`Failed to get kick clip info by clipId: ${t}.`,e.message)}}async getVideoInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/v1/video/${t}`),o=await e.json(),{source:a,livestream:n}=o,{session_title:i,duration:r}=n;return{url:a,duration:Math.round(r/1e3),title:i}}catch(e){return void console.error(`Failed to get kick video info by videoId: ${t}.`,e.message)}}async getVideoData(t){return t.startsWith("videos")?await this.getVideoInfo(t.replace("videos/","")):await this.getClipInfo(t.replace("clips/",""))}async getVideoId(t){return/([^/]+)\/((videos|clips)\/([^/]+))/.exec(t.pathname)?.[2]}},[k.appledeveloper]:class extends ot{API_ORIGIN="https://developer.apple.com";async getVideoData(t){try{const t=document.querySelector("meta[property='og:video']")?.content;if(!t)throw new et("Failed to find content url");return{url:t}}catch(e){return void console.error(`Failed to get apple developer video data by video ID: ${t}`,e.message)}}async getVideoId(t){return/videos\/play\/([^/]+)\/([\d]+)/.exec(t.pathname)?.[0]}},[k.epicgames]:class extends ot{API_ORIGIN="https://dev.epicgames.com/community/api/learning";async getPostInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/post.json?hash_id=${t}`);return await e.json()}catch(e){return console.error(`Failed to get epicgames post info by videoId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getPostInfo(t);if(!e)return;const o=e.blocks.find((t=>"video"===t.type)),a=o?.video_url?.replace("qsep://","https://");if(!a)return;const{title:n,description:i}=e,r=o?.video_captions?.map((t=>({language:V(t.locale),format:"vtt",url:t.signed_url})));return{url:a,title:n,description:i,subtitles:r}}async getVideoId(t){return/\/(\w{3,5})\/[^/]+$/.exec(t.pathname)?.[1]}},[k.nineanimetv]:class extends ot{API_ORIGIN="https://9animetv.to/ajax/episode";RAPID_CLOUD_ORIGIN="https://rapid-cloud.co/ajax/embed-6-v2";async getSourceId(t){try{const e=await this.fetch(`${this.API_ORIGIN}/servers?episodeId=${t}`),o=await e.json();return!!o.html&&/data-id="(\d+)"/.exec(o.html)?.[1]}catch(e){return console.error(`Failed to get 9animetv servers info by episodeId: ${t}.`,e.message),!1}}async getPlayerLink(t){try{const e=await this.fetch(`${this.API_ORIGIN}/sources?id=${t}`),o=await e.json();return!!o.link.includes("rapid-cloud.co")&&o.link}catch(e){return console.error(`Failed to get player link by sourceId: ${t}.`,e.message),!1}}async getRapidCloudData(t){try{const e=await this.fetch(`${this.RAPID_CLOUD_ORIGIN}/getSources?id=${t}`),o=await e.json();return o.encrypted?(console.warn("Encrypted RapidCloud data found. Let us know about it",o),!1):o}catch(e){return console.error(`Failed to get rapid cloud data by rapidId: ${t}.`,e.message),!1}}async getVideoData(t){const e=t.split("?ep=")[1],o=await this.getSourceId(e);if(!o)return;const a=await this.getPlayerLink(o);if(!a)return;const n=/\/([^/?]+)\?/.exec(a)?.[1];if(!n)return;const i=await this.getRapidCloudData(n);if(!i)return;const r=i.sources.find((t=>"hls"===t.type))?.file;if(!r)return;const s=i.tracks.reduce(((t,e)=>{const o=/([\w+]+)(-\d)?\.vtt/.exec(e.file)?.[1];if(!o)return t;const a=V(3===o.length?o:e.label);return t.find((t=>t.language===a))||t.push({language:a,format:"vtt",url:e.file}),t}),[]);return{url:r,subtitles:s}}async getVideoId(t){return new Promise((t=>{const e="https://9animetv.to";window.addEventListener("message",(o=>{o.origin===e&&o.data?.startsWith("getVideoId:")&&t(o.data.replace("getVideoId:",""))})),window.top.postMessage("getVideoId",e)}))}},[k.odysee]:class extends ot{API_ORIGIN="https://odysee.com";async getVideoData(t){try{const e=await this.fetch(`${this.API_ORIGIN}/${t}`),o=await e.text(),a=/"contentUrl":(\s)?"([^"]+)"/.exec(o)?.[2];if(!a)throw new Error("Odysee url doesn't parsed");return{url:a}}catch(e){return void console.error(`Failed to get odysee video data by video ID: ${t}`,e.message)}}async getVideoId(t){return t.pathname.slice(1)}},[k.coursehunter]:class extends ot{API_ORIGIN="https://coursehunter.net/api/v1";getCourseId(t){return window.course_id??+document.querySelector('input[name="course_id"]')?.value}async getLessonsData(t){try{const e=await this.fetch(`${this.API_ORIGIN}/course/${t}/lessons`);return await e.json()}catch(e){return console.error(`Failed to get Coursehunter lessons data by courseId: ${t}`,e.message),!1}}async getVideoData(t){const e=this.getCourseId(t);if(!e)return;const o=window.lessons??await this.getLessonsData(e);if(!o)return;const a=+(t.split("?lesson=")?.[1]??document.querySelector(".lessons-item_active")?.dataset?.index??1),n=o?.[a-1],{file:i,duration:r,title:s}=n;return i?{url:i,duration:r,title:s}:void 0}async getVideoId(t){const e=/\/course\/([^/]+)/.exec(t.pathname)?.[1];return e?e+t.search:void 0}},[k.twitch]:class extends ot{API_ORIGIN="https://clips.twitch.tv";async getClipLink(t,e){const o=document.querySelector("script[type='application/ld+json']"),a=t.slice(1);if(o){const t=JSON.parse(o.innerText),e=t["@graph"].find((t=>"VideoObject"===t["@type"]))?.creator.url;return`${e.replace("https://www.twitch.tv/","")}/clip/${a}`}const n="embed"===a,i=document.querySelector(n?".tw-link[data-test-selector='stream-info-card-component__stream-avatar-link']":".clips-player a:not([class])");if(!i)return;return`${i.href.replace("https://www.twitch.tv/","")}/clip/${n?e:a}`}async getVideoId(t){const e=t.pathname;if(/^m\.twitch\.tv$/.test(e))return/videos\/([^/]+)/.exec(t.href)?.[0]??e.slice(1);if(/^player\.twitch\.tv$/.test(t.hostname))return`videos/${t.searchParams.get("video")}`;const o=/([^/]+)\/(?:clip)\/([^/]+)/.exec(e);if(o)return o[0];return/^clips\.twitch\.tv$/.test(t.hostname)?await this.getClipLink(e,t.searchParams.get("clip")):/(?:videos)\/([^/]+)/.exec(e)?.[0]}},[k.sap]:class extends ot{API_ORIGIN="https://learning.sap.com/";async requestKaltura(t,e,o){try{const a=await this.fetch(`https://${t}/api_v3/service/multirequest`,{method:"POST",body:JSON.stringify({1:{service:"session",action:"startWidgetSession",widgetId:`_${e}`},2:{service:"baseEntry",action:"list",ks:"{1:result:ks}",filter:{redirectFromEntryId:o},responseProfile:{type:1,fields:"id,referenceId,name,description,dataUrl,duration,flavorParamsIds,type,dvrStatus,externalSourceType,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId"}},3:{service:"baseEntry",action:"getPlaybackContext",entryId:"{2:result:objects:0:id}",ks:"{1:result:ks}",contextDataParams:{objectType:"KalturaContextDataParams",flavorTags:"all"}},apiVersion:"3.3.0",format:1,ks:"",clientTag:"html5:v3.17.22",partnerId:e}),headers:{"Content-Type":"application/json"}});return await a.json()}catch(t){return void console.error("Failed to request kaltura data",t.message)}}async getKalturaData(t){try{const e=/https:\/\/([^"]+)\/p\/([^"]+)\/embedPlaykitJs\/uiconf_id\/([^"]+)/.exec(document.querySelector('script[data-nscript="beforeInteractive"]')?.src);if(!e)throw new et(`Failed to get sap data for videoId: ${t}`);const[,o,a]=e;let n=document.querySelector("#shadow")?.firstChild?.getAttribute("id");if(n||(n=/"sourceId":\s?"([^"]+)"/.exec(document.querySelector("#__NEXT_DATA__")?.innerText)?.[1]),!o||Number.isNaN(+a)||!n)throw new et(`One of the necessary parameters for getting a link to a sap video in wasn't found for ${t}. Params: kalturaDomain = ${o}, partnerId = ${a}, entryId = ${n}`);return await this.requestKaltura(o,a,n)}catch(t){return void console.error("Failed to get kaltura data",t.message)}}async getVideoData(t){const e=await this.getKalturaData(t);if(!e)return;const[,o,a]=e,{duration:n}=o.objects[0],i=a.sources.find((t=>"url"===t.format&&"http,https"===t.protocols&&t.url.includes(".mp4")))?.url;if(!i)return;return{url:i,subtitles:a.playbackCaptions.map((t=>({language:V(t.languageCode),format:"vtt",url:t.webVttUrl,isAutoGenerated:t.label.includes("auto-generated")}))),duration:n}}async getVideoId(t){return/((courses|learning-journeys)\/([^/]+)(\/[^/]+)?)/.exec(t.pathname)?.[1]}},[k.udemy]:class extends ot{API_ORIGIN="https://www.udemy.com/api-2.0";getModuleData(){const t=document.querySelector(".ud-app-loader[data-module-id='course-taking']")?.dataset?.moduleArgs;return t?JSON.parse(t):(console.error(z.get("udemyModuleArgsNotFound")),{})}getLectureId(){return/learn\/lecture\/([^/]+)/.exec(window.location.pathname)?.[1]}async getLectureData(t,e){const o=await this.fetch(`${this.API_ORIGIN}/users/me/subscribed-courses/${t}/lectures/${e}/?`+new URLSearchParams({"fields[lecture]":"title,description,asset","fields[asset]":"length,media_sources,captions"}));return await o.json()}async getCourseLang(t){const e=await this.fetch(`${this.API_ORIGIN}/users/me/subscribed-courses/${t}?`+new URLSearchParams({"fields[course]":"locale"}));return await e.json()}findVideoUrl(t){return t?.find((t=>"video/mp4"===t.type))?.src}findSubtitleUrl(t,e){let o=t?.find((t=>G(t.locale_id)===e));return o||(o=t?.find((t=>"en"===G(t.locale_id)))??t?.[0]),o?.url}async getVideoData(t){const{courseId:e}=this.getModuleData();if(!e)return;const o=this.getLectureId();if(M.log(`[Udemy] courseId: ${e}, lectureId: ${o}`),!o)return;const{title:a,description:n,asset:i}=await this.getLectureData(e,o),{length:r,media_sources:s,captions:l}=i,d=this.findVideoUrl(s);if(!d)return void console.log("Failed to find .mp4 video file in media_sources",s);const u=await this.getCourseLang(e);let{locale:{locale:c}}=u;c=c?G(c):"en",at.includes(c)||(c="en");const h=this.findSubtitleUrl(l,c);return h||console.log("Failed to find subtitle file in captions",l),{...h?{url:this.service?.url+t,translationHelp:[{target:"subtitles_file_url",targetUrl:h},{target:"video_file_url",targetUrl:d}],detectedLanguage:c}:{url:d,translationHelp:null},duration:r,title:a,description:n}}async getVideoId(t){return t.pathname.slice(1)}},[k.coursera]:class extends ot{API_ORIGIN="https://www.coursera.org/api";async getCourseData(t){const e=await this.fetch(`${this.API_ORIGIN}/onDemandCourses.v1/${t}`),o=await e.json();return o?.elements?.[0]}getPlayer(){return document.querySelector(".vjs-v8")}getPlayerData(){return this.getPlayer()?.player}findVideoUrl(t){return t?.find((t=>"video/mp4"===t.type))?.src}findSubtitleUrl(t,e){let o=t?.find((t=>G(t.srclang)===e));return o||(o=t?.find((t=>"en"===G(t.srclang)))||t?.[0]),o?.src}async getVideoData(t){const e=this.getPlayerData(),{duration:o}=e?.cache_||{},{courseId:a,tracks:n,sources:i}=e?.options_||{},r=this.findVideoUrl(i);if(!r)return void console.log("Failed to find .mp4 video file in sources",i);const{primaryLanguageCodes:s}=await this.getCourseData(a);let l=s?.[0];l=l?G(l):"en",at.includes(l)||(l="en");const d=this.findSubtitleUrl(n,l);return d||console.log("Failed to find subtitle file in tracks",n),{...d?{url:this.service?.url+t,translationHelp:[{target:"subtitles_file_url",targetUrl:d},{target:"video_file_url",targetUrl:r}]}:{url:r,translationHelp:null},detectedLanguage:l,duration:o}}async getVideoId(t){return/learn\/([^/]+)\/lecture\/([^/]+)/.exec(t.pathname)?.[0]}},[k.linkedin]:class extends ot{API_ORIGIN="https://www.linkedin.com/learning";async getVideoData(t){try{const e=document.querySelector(".video-js");if(!e)throw new et(`Failed to find video element for videoID ${t}`);const o=(e.getAttribute("data-sources")??"[]").replaceAll(""",'"').replaceAll("&","&"),a=JSON.parse(o).find((t=>t.src.includes(".mp4")));if(!a)throw new Error(`Failed to find video url for videoID ${t}`);const n=new URL(a.src),i=e.getAttribute("data-captions-url"),r=i?[{language:"en",format:"vtt",url:i}]:void 0;return{url:A(n),subtitles:r}}catch(t){return void console.error("Failed to get linkedin video data",t.message)}}async getVideoId(t){return/\/learning\/(([^/]+)\/([^/]+))/.exec(t.pathname)?.[1]}},[k.vimeo]:class extends ot{API_KEY="";DEFAULT_SITE_ORIGIN="https://vimeo.com";SITE_ORIGIN=this.isPrivatePlayer()?this.service?.url?.slice(0,-1)??this.DEFAULT_SITE_ORIGIN:this.DEFAULT_SITE_ORIGIN;isErrorData(t){return Object.hasOwn(t,"error")}isPrivatePlayer(){return this.referer&&!this.referer.includes("vimeo.com")}async getViewerData(){try{const t=await this.fetch("https://vimeo.com/_next/viewer"),e=await t.json(),{apiUrl:o,jwt:a}=e;return this.API_ORIGIN=`https://${o}`,this.API_KEY=`jwt ${a}`,e}catch(t){return console.error("Failed to get default viewer data.",t.message),!1}}async getVideoInfo(t){try{const e=new URLSearchParams({fields:"name,link,description,duration"}).toString(),o=await this.fetch(`${this.API_ORIGIN}/videos/${t}?${e}`,{headers:{Authorization:this.API_KEY}}),a=await o.json();if(this.isErrorData(a))throw new Error(a.developer_message??a.error);return a}catch(e){return console.error(`Failed to get video info by video ID: ${t}`,e.message),!1}}async getPrivateVideoSource(t){try{const{default_cdn:e,cdns:o}=t.dash,a=o[e].url,n=await this.fetch(a);if(200!==n.status)throw new et(await n.text());const i=await n.json(),r=new URL(a),s=Array.from(i.base_url.matchAll(/\.\.\//g)).length+1,l=r.pathname.split("/");r.pathname=l.slice(0,l.length-s).join("/");const d=i.audio.find((t=>"audio/mp4"===t.mime_type&&"dash"===t.format));if(!d)throw new et("Failed to find video data");const u=d.segments?.[0]?.url;if(!u)throw new et("Failed to find first segment url");const[c,h]=u.split("?",2);r.pathname+=`/${d.base_url}${c}`;const p=new URLSearchParams(h);return p.delete("range"),r.href=r.href.split("?")[0]+"?"+p.toString(),r.href}catch(t){return console.error("Failed to get private video source",t.message),!1}}async getPrivateVideoInfo(t){try{const e=await this.getPrivateVideoSource(playerConfig.request.files);if(!e)throw new et("Failed to get private video source");const{title:o,duration:a}=playerConfig.video,{text_tracks:n}=playerConfig.request;return{url:`${this.SITE_ORIGIN}/${t}`,video_url:e,title:o,duration:a,subs:n}}catch(e){return console.error(`Failed to get private video info by video ID: ${t}`,e.message),!1}}async getSubsInfo(t){try{const e=new URLSearchParams({per_page:"100",fields:"language,type,link"}).toString(),o=await this.fetch(`${this.API_ORIGIN}/videos/${t}/texttracks?${e}`,{headers:{Authorization:this.API_KEY}}),a=await o.json();if(this.isErrorData(a))throw new Error(a.developer_message??a.error);return a}catch(e){return console.error(`Failed to get subtitles info by video ID: ${t}`,e.message),!1}}async getVideoData(t){const e=this.isPrivatePlayer();if(!this.extraInfo)return this.returnBaseData(t);if(e){const e=await this.getPrivateVideoInfo(t);if(!e)return;const{url:o,subs:a,video_url:n,title:i,duration:r}=e,s=a.map((t=>({language:V(t.lang),format:"vtt",url:this.SITE_ORIGIN+t.url,isAutoGenerated:t.lang.includes("autogenerated")}))),l=s.length?[{target:"video_file_url",targetUrl:n},{target:"subtitles_file_url",targetUrl:s[0].url}]:null;return{...l?{url:o,translationHelp:l}:{url:n},subtitles:s,title:i,duration:r}}t.startsWith("video/")&&(t=t.replace("video/","")),t.includes("/")&&(t=t.replace("/",":"));if(!await this.getViewerData())return this.returnBaseData(t);const o=await this.getVideoInfo(t);if(!o)return this.returnBaseData(t);const a=await this.getSubsInfo(t),n=a?a.data.map((t=>({language:V(t.language),format:"vtt",url:t.link,isAutoGenerated:t.language.includes("autogen")}))):[],{link:i,duration:r,name:s,description:l}=o;return{url:i,title:s,description:l,subtitles:n,duration:r}}async getVideoId(t){const e=/[^/]+\/[^/]+$/.exec(t.pathname)?.[0];return this.isPrivatePlayer()?e:e?.startsWith("video/")?e.replace("video/",""):e??/[^/]+$/.exec(t.pathname)?.[0]}}};class st{helpersData;constructor(t={}){this.helpersData=t}getHelper(t){return new rt[t](this.helpersData)}}class lt extends Error{constructor(t){super(t),this.name="VideoDataError",this.message=t}}async function dt(t,e,o={}){const a=new URL(window.location.href),n=t.host;if(Object.keys(rt).includes(n)){const t=new st(o).getHelper(n);return await t.getVideoId(a)}switch(n){case k.custom:return a.href;case k.piped:case k.poketube:case k.invidious:case k.youtube:return"youtu.be"===a.hostname&&(a.search=`?v=${a.pathname.replace("/","")}`,a.pathname="/watch"),/(?:watch|embed|shorts|live)\/([^/]+)/.exec(a.pathname)?.[1]??a.searchParams.get("v");case k.vk:{const t=/^\/(video|clip)-?\d{8,9}_\d{9}$/.exec(a.pathname),o=a.searchParams.get("z"),n=a.searchParams.get("oid"),i=a.searchParams.get("id");if(t)return t[0].slice(1);if(o)return o.split("/")[0];if(n&&i)return`video-${Math.abs(parseInt(n))}_${i}`;const r=e.parentElement?.closest(".video_box_wrap");return r?r.id.replace("video_box_wrap","video"):null}case k.nine_gag:case k.gag:return/gag\/([^/]+)/.exec(a.pathname)?.[1];case k.proxitok:case k.tiktok:return/([^/]+)\/video\/([^/]+)/.exec(a.pathname)?.[0];case k.xvideos:return/[^/]+\/[^/]+$/.exec(a.pathname)?.[0];case k.pornhub:return a.searchParams.get("viewkey")??/embed\/([^/]+)/.exec(a.pathname)?.[1];case k.twitter:return/status\/([^/]+)/.exec(a.pathname)?.[1];case k.rumble:case k.facebook:return a.pathname.slice(1);case k.rutube:return/(?:video|embed)\/([^/]+)/.exec(a.pathname)?.[1];case k.bilibili:{const t=a.searchParams.get("bvid");if(t)return t;let e=/video\/([^/]+)/.exec(a.pathname)?.[1];return e&&null!==a.searchParams.get("p")&&(e+=`/?p=${a.searchParams.get("p")}`),e}case k.bitchute:return/(video|embed)\/([^/]+)/.exec(a.pathname)?.[2];case k.eporner:return/video-([^/]+)\/([^/]+)/.exec(a.pathname)?.[0];case k.peertube:return/\/w\/([^/]+)/.exec(a.pathname)?.[0];case k.dailymotion:{const t=Array.from(document.querySelectorAll("*")).filter((t=>t.innerHTML.trim().includes(".m3u8")));let e=t?.[1]?.lastChild?.src;if(!e)return;return/\/video\/(\w+)\.m3u8/.exec(e)?.[1]}case k.trovo:{const t=a.searchParams.get("vid");if(!t)return null;const e=/([^/]+)\/([\d]+)/.exec(a.pathname)?.[0];return e?`${e}?vid=${t}`:null}case k.yandexdisk:return/\/i\/([^/]+)/.exec(a.pathname)?.[1];case k.okru:return/\/video\/(\d+)/.exec(a.pathname)?.[1];case k.googledrive:return a.searchParams.get("docid");case k.newgrounds:return/([^/]+)\/(view)\/([^/]+)/.exec(a.pathname)?.[0];case k.egghead:return a.pathname.slice(1);case k.youku:return/v_show\/id_[\w=]+/.exec(a.pathname)?.[0];case k.archive:return/(details|embed)\/([^/]+)/.exec(a.pathname)?.[2];case k.watchpornto:return/(video|embed)\/(\d+)(\/[^/]+\/)?/.exec(a.pathname)?.[0];default:return}}async function ut(t,e,o={}){const a=await dt(t,e,o);if(!a)throw new lt(`Entered unsupported link: "${t.host}"`);if(t.host===k.peertube&&(t.url=window.location.origin),t.rawResult)return{url:a,videoId:a,host:t.host,duration:void 0};if(!t.needExtraData)return{url:t.url+a,videoId:a,host:t.host,duration:void 0};const n=new st({...o,service:t}).getHelper(t.host),i=await n.getVideoData(a);if(!i)throw new lt(`Failed to get video raw url for ${t.host}`);return{...i,videoId:a,host:t.host}}class ct extends Error{constructor(t){super(z.getDefault(t)),this.name="VOTLocalizedError",this.unlocalizedMessage=t,this.localizedMessage=z.get(t)}}const{rE:ht}={rE:"1.3.0"};class pt extends Error{data;constructor(t,e=void 0){super(t),this.data=e,this.name="VOTJSError",this.message=t}}class gt{host;hostVOT;schema;schemaVOT;fetch;fetchOpts;getVideoDataFn;sessions={};requestLang;responseLang;userAgent=y.userAgent;componentVersion=y.componentVersion;paths={videoTranslation:"/video-translation/translate",videoSubtitles:"/video-subtitles/get-subtitles",streamPing:"/stream-translation/ping-stream",streamTranslation:"/stream-translation/translate-stream",createSession:"/session/create"};isCustomLink(t){return!!(/\.(m3u8|m4(a|v)|mpd)/.exec(t)??/^https:\/\/cdn\.qstv\.on\.epicgames\.com/.exec(t))}headers={"User-Agent":this.userAgent,Accept:"application/x-protobuf","Accept-Language":"en","Content-Type":"application/x-protobuf",Pragma:"no-cache","Cache-Control":"no-cache","Sec-Fetch-Mode":"no-cors"};headersVOT={"User-Agent":`vot.js/${ht}`,"Content-Type":"application/json",Pragma:"no-cache","Cache-Control":"no-cache"};constructor({host:t=y.host,hostVOT:e=y.hostVOT,fetchFn:o=L,fetchOpts:a={},getVideoDataFn:n=ut,requestLang:i="en",responseLang:r="ru",headers:s={}}={}){const l=/(http(s)?):\/\//,d=l.exec(t)?.[1];this.host=d?t.replace(`${d}://`,""):t,this.schema=d??"https";const u=l.exec(e)?.[1];this.hostVOT=u?e.replace(`${u}://`,""):e,this.schemaVOT=u??"https",this.fetch=o,this.fetchOpts=a,this.getVideoDataFn=n,this.requestLang=i,this.responseLang=r,this.headers={...this.headers,...s}}getOpts(t,e={}){return{method:"POST",headers:{...this.headers,...e},body:t,...this.fetchOpts}}async request(t,e,o={}){const a=this.getOpts(new Blob([e]),o);try{const e=await this.fetch(`${this.schema}://${this.host}${t}`,a),o=await e.arrayBuffer();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}async requestVOT(t,e,o={}){const a=this.getOpts(JSON.stringify(e),{...this.headersVOT,...o});try{const e=await this.fetch(`${this.schemaVOT}://${this.hostVOT}${t}`,a),o=await e.json();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}async getSession(t){const e=Math.floor(Date.now()/1e3),o=this.sessions[t];if(o&&o.timestamp+o.expires>e)return o;const{secretKey:a,expires:n,uuid:i}=await this.createSession(t);return this.sessions[t]={secretKey:a,expires:n,timestamp:e,uuid:i},this.sessions[t]}async translateVideoYAImpl({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,translationHelp:a=null,headers:n={}}){const{url:i,duration:r=y.defaultDuration}=t,{secretKey:s,uuid:l}=await this.getSession("video-translation"),d=b.encodeTranslationRequest(i,r,e,o,a),u=await S(d),c=await this.request(this.paths.videoTranslation,d,{"Vtrans-Signature":u,"Sec-Vtrans-Sk":s,"Sec-Vtrans-Token":`${u}:${l}:${this.paths.videoTranslation}:${this.componentVersion}`,...n});if(!c.success)throw new ct("requestTranslationFailed");const h=b.decodeTranslationResponse(c.data);switch(M.log("requestTranslation",h),h.status){case T.FAILED:throw h?.message?new pt("Yandex couldn't translate video",h):new ct("requestTranslationFailed");case T.FINISHED:case T.PART_CONTENT:if(!h.url)throw new ct("audioNotReceived");return{translated:!0,url:h.url,remainingTime:h.remainingTime??-1};case T.WAITING:return{translated:!1,remainingTime:h.remainingTime};case T.LONG_WAITING:case T.LONG_WAITING_2:return{translated:!1,remainingTime:h.remainingTime??-1};default:throw console.error("[vot.js] Unknown response",h),new pt("Unknown response from Yandex",h)}}async translateVideoVOTImpl({url:t,videoId:e,service:o,requestLang:a=this.requestLang,responseLang:n=this.responseLang,headers:i={}}){const r=function(t,e,o){return t===k.patreon?{service:"mux",videoId:new URL(o).pathname.slice(1)}:{service:t,videoId:e}}(o,e,t),s=await this.requestVOT(this.paths.videoTranslation,{provider:"yandex",service:r.service,videoId:r.videoId,fromLang:a,toLang:n,rawVideo:t},i);if(!s.success)throw new ct("requestTranslationFailed",s);const l=s.data;switch(l.status){case"failed":throw new pt("Yandex couldn't translate video",l);case"success":if(!l.translatedUrl)throw new ct("audioNotReceived");return{translated:!0,url:l.translatedUrl,remainingTime:-1};case"waiting":return{translated:!1,remainingTime:l.remainingTime,message:l.message}}}async translateVideo({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,translationHelp:a=null,headers:n={}}){const{url:i,videoId:r,host:s}=t;return this.isCustomLink(i)?await this.translateVideoVOTImpl({url:i,videoId:r,service:s,requestLang:e,responseLang:o,headers:n}):await this.translateVideoYAImpl({videoData:t,requestLang:e,responseLang:o,translationHelp:a,headers:n})}async getSubtitles({videoData:t,requestLang:e=this.requestLang,headers:o={}}){const{url:a}=t;if(this.isCustomLink(a))return{waiting:!1,subtitles:[]};const{secretKey:n,uuid:i}=await this.getSession("video-translation"),r=b.encodeSubtitlesRequest(a,e),s=await S(r),l=await this.request(this.paths.videoSubtitles,r,{"Vsubs-Signature":await S(r),"Sec-Vsubs-Sk":n,"Sec-Vsubs-Token":`${s}:${i}:${this.paths.videoSubtitles}:${this.componentVersion}`,...o});if(!l.success)throw new pt("Failed to request video subtitles",l);return b.decodeSubtitlesResponse(l.data)}async pingStream({pingId:t,headers:e={}}){const{secretKey:o,uuid:a}=await this.getSession("video-translation"),n=b.encodeStreamPingRequest(t),i=await S(n),r=await this.request(this.paths.streamPing,n,{"Vtrans-Signature":await S(n),"Sec-Vtrans-Sk":o,"Sec-Vtrans-Token":`${i}:${a}:${this.paths.streamPing}:${this.componentVersion}`,...e});if(!r.success)throw new pt("Failed to request stream ping",r);return!0}async translateStream({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,headers:n={}}){const{url:i}=t;if(this.isCustomLink(i))throw new ct("VOTStreamNotSupportedUrl");const{secretKey:r,uuid:s}=await this.getSession("video-translation"),l=b.encodeStreamRequest(i,e,o),d=await S(l),u=await this.request(this.paths.streamTranslation,l,{"Vtrans-Signature":await S(l),"Sec-Vtrans-Sk":r,"Sec-Vtrans-Token":`${d}:${s}:${this.paths.streamTranslation}:${this.componentVersion}`,...n});if(!u.success)throw new pt("Failed to request stream translation",u);const c=b.decodeStreamResponse(u.data),h=c.interval;switch(h){case a.NO_CONNECTION:case a.TRANSLATING:return{translated:!1,interval:h,message:h===a.NO_CONNECTION?"streamNoConnectionToServer":"translationTakeFewMinutes"};case a.STREAMING:return{translated:!0,interval:h,pingId:c.pingId,result:c.translatedInfo};default:throw console.error("[vot.js] Unknown response",c),new pt("Unknown response from Yandex",c)}}async createSession(t){const e=function(){let t="";for(let e=0;e<32;e++)t+="0123456789ABCDEF"[Math.floor(16*Math.random())];return t}(),o=b.encodeYandexSessionRequest(e,t),a=await this.request(this.paths.createSession,o,{"Vtrans-Signature":await S(o)});if(!a.success)throw new pt("Failed to request create session",a);return{...b.decodeYandexSessionResponse(a.data),uuid:e}}}class mt extends gt{async request(t,e,o={}){const a=this.getOpts(JSON.stringify({headers:{...this.headers,...o},body:Array.from(e)}),{"Content-Type":"application/json"});try{const e=await this.fetch(`${this.schema}://${this.host}${t}`,a),o=await e.arrayBuffer();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}}var vt;function ft(t,e=","){const o=t/1e3,a=Math.floor(o/3600),n=Math.floor(o%3600/60),i=Math.floor(o%60),r=Math.floor(t%1e3);return`${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}${e}${r.toString().padStart(3,"0")}`}function bt(t){const e=t.split(" ")?.[0]?.split(":");e.length<3&&e.unshift("00");const[o,a,n]=e;return 36e5*+o+6e4*+a+ +n.replace(/[,.]/,"")}function yt(t,e="srt"){const o="vtt"===e,a=o?".":",",n=t.subtitles.map(((t,e)=>(o?"":`${e+1}\n`)+`${ft(t.startMs,a)} --\x3e ${ft(t.startMs+t.durationMs,a)}\n${t.text}\n\n`)).join("").trim();return o?`WEBVTT\n\n${n}`:n}function wt(t,e="srt"){const o=function(t){return"string"!=typeof t?"json":/(WEBVTT)(\r?\n\r?\n)/.exec(t)?"vtt":"srt"}(t);return o===e?t:"json"===o?yt(t,e):(t=function(t,e="srt"){const o=t.split(/\r?\n\r?\n/g);"vtt"===e&&o.shift();const a=+("srt"===e);return{containsTokens:!1,subtitles:o.reduce(((t,e)=>{const o=e.trim().split("\n"),n=o[a],i=o.slice(a+1).join("\n");if(!(2===o.length&&e.includes(" --\x3e ")||n?.includes(" --\x3e ")))return 0===t.length||(t[t.length-1].text+=`\n\n${o.join("\n")}`),t;const[r,s]=n.split(" --\x3e "),l=bt(r),d=bt(s)-l;return t.push({text:i,startMs:l,durationMs:d,speakerId:"0"}),t}),[])}}(t,o),"json"===e?t:yt(t,e))}!function(t){t.Channel="Channel",t.Video="Video"}(vt||(vt={}));const xt=globalThis,St=xt.trustedTypes,kt=St?St.createPolicy("lit-html",{createHTML:t=>t}):void 0,Tt="$lit$",Ct=`lit$${Math.random().toFixed(9).slice(2)}$`,Lt="?"+Ct,Vt=`<${Lt}>`,At=document,It=()=>At.createComment(""),Ot=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Pt=Array.isArray,Mt=t=>Pt(t)||"function"==typeof t?.[Symbol.iterator],Et="[ \t\n\f\r]",_t=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,$t=/-->/g,Nt=/>/g,Rt=RegExp(`>|${Et}(?:([^\\s"'>=/]+)(${Et}*=${Et}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Bt=/'/g,Dt=/"/g,Ft=/^(?:script|style|textarea|title)$/i,qt=t=>(e,...o)=>({_$litType$:t,strings:e,values:o}),Ut=qt(1),Ht=qt(2),zt=(qt(3),Symbol.for("lit-noChange")),Wt=Symbol.for("lit-nothing"),jt=new WeakMap,Gt=At.createTreeWalker(At,129);function Yt(t,e){if(!Pt(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==kt?kt.createHTML(e):e}const Kt=(t,e)=>{const o=t.length-1,a=[];let n,i=2===e?"":3===e?"":"",r=_t;for(let e=0;e"===l[0]?(r=n??_t,d=-1):void 0===l[1]?d=-2:(d=r.lastIndex-l[2].length,s=l[1],r=void 0===l[3]?Rt:'"'===l[3]?Dt:Bt):r===Dt||r===Bt?r=Rt:r===$t||r===Nt?r=_t:(r=Rt,n=void 0);const c=r===Rt&&t[e+1].startsWith("/>")?" ":"";i+=r===_t?o+Vt:d>=0?(a.push(s),o.slice(0,d)+Tt+o.slice(d)+Ct+c):o+Ct+(-2===d?e:c)}return[Yt(t,i+(t[o]||"")+(2===e?"":3===e?"":"")),a]};class Jt{constructor({strings:t,_$litType$:e},o){let a;this.parts=[];let n=0,i=0;const r=t.length-1,s=this.parts,[l,d]=Kt(t,e);if(this.el=Jt.createElement(l,o),Gt.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=Gt.nextNode())&&s.length0){a.textContent=St?St.emptyScript:"";for(let o=0;o2||""!==o[0]||""!==o[1]?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=Wt}_$AI(t,e=this,o,a){const n=this.strings;let i=!1;if(void 0===n)t=Zt(this,t,e,0),i=!Ot(t)||t!==this._$AH&&t!==zt,i&&(this._$AH=t);else{const a=t;let r,s;for(t=n[0],r=0;r{const a=o?.renderBefore??e;let n=a._$litPart$;if(void 0===n){const t=o?.renderBefore??null;a._$litPart$=n=new Qt(e.insertBefore(It(),t),t,void 0,o??{})}return n._$AI(t),n};function se(t){return String(t).split("").map((t=>t.charCodeAt(0)))}function le(t){return new Uint8Array(se(t))}function de(t){const e=new ArrayBuffer(2*t.length),o=new Uint8Array(e);return new Uint16Array(e).set(se(t)),o}function ue(t){const e=255;return[t>>>24&e,t>>>16&e,t>>>8&e,t&e]}function ce(t){return 11+t}function he(t,e,o,a){return 11+e+1+1+(a?2+2*(o+1):o+1)+t}function pe(t){let e=0;return t.forEach((t=>{e+=2+2*t[0].length+2+2+2*t[1].length+2})),11+e}function ge(t,e){const o=2*e;let a=0;return t.forEach((t=>{a+=2+2*t[0].length+2+4})),18+o+2+a}class me{_setIntegerFrame(t,e){const o=parseInt(e,10);this.frames.push({name:t,value:o,size:ce(o.toString().length)})}_setStringFrame(t,e){const o=e.toString();let a=13+2*o.length;"TDAT"===t&&(a=ce(o.length)),this.frames.push({name:t,value:o,size:a})}_setPictureFrame(t,e,o,a){const n=function(t){if(!t||!t.length)return null;if(255===t[0]&&216===t[1]&&255===t[2])return"image/jpeg";if(137===t[0]&&80===t[1]&&78===t[2]&&71===t[3])return"image/png";if(71===t[0]&&73===t[1]&&70===t[2])return"image/gif";if(87===t[8]&&69===t[9]&&66===t[10]&&80===t[11])return"image/webp";const e=73===t[0]&&73===t[1]&&42===t[2]&&0===t[3],o=77===t[0]&&77===t[1]&&0===t[2]&&42===t[3];return e||o?"image/tiff":66===t[0]&&77===t[1]?"image/bmp":0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?"image/x-icon":null}(new Uint8Array(e)),i=o.toString();if(!n)throw new Error("Unknown picture MIME type");o||(a=!1),this.frames.push({name:"APIC",value:e,pictureType:t,mimeType:n,useUnicodeEncoding:a,description:i,size:he(e.byteLength,n.length,i.length,a)})}_setLyricsFrame(t,e,o){const a=t.split("").map((t=>t.charCodeAt(0))),n=e.toString(),i=o.toString();var r,s;this.frames.push({name:"USLT",value:i,language:a,description:n,size:(r=n.length,s=i.length,16+2*r+2+2+2*s)})}_setCommentFrame(t,e,o){const a=t.split("").map((t=>t.charCodeAt(0))),n=e.toString(),i=o.toString();var r,s;this.frames.push({name:"COMM",value:i,language:a,description:n,size:(r=n.length,s=i.length,16+2*r+2+2+2*s)})}_setPrivateFrame(t,e){const o=t.toString();var a,n;this.frames.push({name:"PRIV",value:e,id:o,size:(a=o.length,n=e.byteLength,10+a+1+n)})}_setUserStringFrame(t,e){const o=t.toString(),a=e.toString();var n,i;this.frames.push({name:"TXXX",description:o,value:a,size:(n=o.length,i=a.length,13+2*n+2+2+2*i)})}_setUrlLinkFrame(t,e){const o=e.toString();var a;this.frames.push({name:t,value:o,size:(a=o.length,10+a)})}_setPairedTextFrame(t,e){this.frames.push({name:t,value:e,size:pe(e)})}_setSynchronisedLyricsFrame(t,e,o,a,n){const i=n.toString(),r=a.split("").map((t=>t.charCodeAt(0)));this.frames.push({name:"SYLT",value:e,language:r,description:i,type:t,timestampFormat:o,size:ge(e,i.length)})}constructor(t){if(!t||"object"!=typeof t||!("byteLength"in t))throw new Error("First argument should be an instance of ArrayBuffer or Buffer");this.arrayBuffer=t,this.padding=4096,this.frames=[],this.url=""}setFrame(t,e){switch(t){case"TPE1":case"TCOM":case"TCON":{if(!Array.isArray(e))throw new Error(`${t} frame value should be an array of strings`);const o="TCON"===t?";":"/",a=e.join(o);this._setStringFrame(t,a);break}case"TLAN":case"TIT1":case"TIT2":case"TIT3":case"TALB":case"TPE2":case"TPE3":case"TPE4":case"TRCK":case"TPOS":case"TMED":case"TPUB":case"TCOP":case"TKEY":case"TEXT":case"TDAT":case"TSRC":this._setStringFrame(t,e);break;case"TBPM":case"TLEN":case"TYER":this._setIntegerFrame(t,e);break;case"USLT":if(e.language=e.language||"eng","object"!=typeof e||!("description"in e)||!("lyrics"in e))throw new Error("USLT frame value should be an object with keys description and lyrics");if(e.language&&!e.language.match(/[a-z]{3}/i))throw new Error("Language must be coded following the ISO 639-2 standards");this._setLyricsFrame(e.language,e.description,e.lyrics);break;case"APIC":if("object"!=typeof e||!("type"in e)||!("data"in e)||!("description"in e))throw new Error("APIC frame value should be an object with keys type, data and description");if(e.type<0||e.type>20)throw new Error("Incorrect APIC frame picture type");this._setPictureFrame(e.type,e.data,e.description,!!e.useUnicodeEncoding);break;case"TXXX":if("object"!=typeof e||!("description"in e)||!("value"in e))throw new Error("TXXX frame value should be an object with keys description and value");this._setUserStringFrame(e.description,e.value);break;case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":this._setUrlLinkFrame(t,e);break;case"COMM":if(e.language=e.language||"eng","object"!=typeof e||!("description"in e)||!("text"in e))throw new Error("COMM frame value should be an object with keys description and text");if(e.language&&!e.language.match(/[a-z]{3}/i))throw new Error("Language must be coded following the ISO 639-2 standards");this._setCommentFrame(e.language,e.description,e.text);break;case"PRIV":if("object"!=typeof e||!("id"in e)||!("data"in e))throw new Error("PRIV frame value should be an object with keys id and data");this._setPrivateFrame(e.id,e.data);break;case"IPLS":if(!Array.isArray(e)||!Array.isArray(e[0]))throw new Error("IPLS frame value should be an array of pairs");this._setPairedTextFrame(t,e);break;case"SYLT":if("object"!=typeof e||!("type"in e)||!("text"in e)||!("timestampFormat"in e))throw new Error("SYLT frame value should be an object with keys type, text and timestampFormat");if(!Array.isArray(e.text)||!Array.isArray(e.text[0]))throw new Error("SYLT frame text value should be an array of pairs");if(e.type<0||e.type>6)throw new Error("Incorrect SYLT frame content type");if(e.timestampFormat<1||e.timestampFormat>2)throw new Error("Incorrect SYLT frame time stamp format");e.language=e.language||"eng",e.description=e.description||"",this._setSynchronisedLyricsFrame(e.type,e.text,e.timestampFormat,e.language,e.description);break;default:throw new Error(`Unsupported frame ${t}`)}return this}removeTag(){if(this.arrayBuffer.byteLength<10)return;const t=new Uint8Array(this.arrayBuffer),e=t[3],o=((a=[t[6],t[7],t[8],t[9]])[0]<<21)+(a[1]<<14)+(a[2]<<7)+a[3]+10;var a,n;73!==(n=t)[0]||68!==n[1]||51!==n[2]||e<2||e>4||(this.arrayBuffer=new Uint8Array(t.subarray(o)).buffer)}addTag(){this.removeTag();const t=[255,254],e=10+this.frames.reduce(((t,e)=>t+e.size),0)+this.padding,o=new ArrayBuffer(this.arrayBuffer.byteLength+e),a=new Uint8Array(o);let n=0,i=[];return i=[73,68,51,3],a.set(i,n),n+=i.length,n++,n++,i=function(t){const e=127;return[t>>>21&e,t>>>14&e,t>>>7&e,t&e]}(e-10),a.set(i,n),n+=i.length,this.frames.forEach((e=>{switch(i=le(e.name),a.set(i,n),n+=i.length,i=ue(e.size-10),a.set(i,n),n+=i.length,n+=2,e.name){case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":i=le(e.value),a.set(i,n),n+=i.length;break;case"TPE1":case"TCOM":case"TCON":case"TLAN":case"TIT1":case"TIT2":case"TIT3":case"TALB":case"TPE2":case"TPE3":case"TPE4":case"TRCK":case"TPOS":case"TKEY":case"TMED":case"TPUB":case"TCOP":case"TEXT":case"TSRC":i=[1].concat(t),a.set(i,n),n+=i.length,i=de(e.value),a.set(i,n),n+=i.length;break;case"TXXX":case"USLT":case"COMM":i=[1],"USLT"!==e.name&&"COMM"!==e.name||(i=i.concat(e.language)),i=i.concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,i=[0,0].concat(t),a.set(i,n),n+=i.length,i=de(e.value),a.set(i,n),n+=i.length;break;case"TBPM":case"TLEN":case"TDAT":case"TYER":n++,i=le(e.value),a.set(i,n),n+=i.length;break;case"PRIV":i=le(e.id),a.set(i,n),n+=i.length,n++,a.set(new Uint8Array(e.value),n),n+=e.value.byteLength;break;case"APIC":i=[e.useUnicodeEncoding?1:0],a.set(i,n),n+=i.length,i=le(e.mimeType),a.set(i,n),n+=i.length,i=[0,e.pictureType],a.set(i,n),n+=i.length,e.useUnicodeEncoding?(i=[].concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,n+=2):(i=le(e.description),a.set(i,n),n+=i.length,n++),a.set(new Uint8Array(e.value),n),n+=e.value.byteLength;break;case"IPLS":i=[1],a.set(i,n),n+=i.length,e.value.forEach((e=>{i=[].concat(t),a.set(i,n),n+=i.length,i=de(e[0].toString()),a.set(i,n),n+=i.length,i=[0,0].concat(t),a.set(i,n),n+=i.length,i=de(e[1].toString()),a.set(i,n),n+=i.length,i=[0,0],a.set(i,n),n+=i.length}));break;case"SYLT":i=[1].concat(e.language).concat(e.timestampFormat).concat(e.type),a.set(i,n),n+=i.length,i=[].concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,n+=2,e.value.forEach((e=>{i=[].concat(t),a.set(i,n),n+=i.length,i=de(e[0].toString()),a.set(i,n),n+=i.length,i=[0,0],a.set(i,n),n+=i.length,i=ue(e[1]),a.set(i,n),n+=i.length}))}})),n+=this.padding,a.set(new Uint8Array(this.arrayBuffer),n),this.arrayBuffer=o,o}getBlob(){return new Blob([this.arrayBuffer],{type:"audio/mpeg"})}getURL(){return this.url||(this.url=URL.createObjectURL(this.getBlob())),this.url}revokeURL(){URL.revokeObjectURL(this.url)}}o("./src/styles/main.scss");const ve="#UNDEFINED",fe=Ht`{var t={"./src/styles/main.scss":()=>{GM_addStyle('.vot-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));--vot-helper-ontheme:var(--vot-ontheme-rgb,var(--vot-onprimary-rgb,255,255,255));box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-ontheme));background-color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;border:none;border-radius:4px;outline:none;min-width:64px;height:36px;padding:0 16px;font-size:14px;font-weight:500;line-height:36px;transition:box-shadow .2s;display:inline-block;position:relative;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.vot-button[hidden]{display:none!important}.vot-button::-moz-focus-inner{border:none}.vot-button:before,.vot-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-button:before{background-color:rgb(var(--vot-helper-ontheme));transition:opacity .2s}.vot-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-button:hover{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.vot-button:hover:before{opacity:.08}.vot-button:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.vot-button:active:after{opacity:.32;background-size:100% 100%;transition:background-size}.vot-button[disabled=true]{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.12);color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);box-shadow:none;cursor:initial}.vot-button[disabled=true]:before,.vot-button[disabled=true]:after{opacity:0}.vot-outlined-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));box-sizing:border-box;border:1px solid;border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.24);vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border-radius:4px;outline:none;min-width:64px;height:36px;margin:0;padding:0 16px;font-size:14px;font-weight:500;line-height:34px;display:inline-block;position:relative}.vot-outlined-button[hidden]{display:none!important}.vot-outlined-button::-moz-focus-inner{border:none}.vot-outlined-button:before,.vot-outlined-button:after{content:"";opacity:0;border-radius:3px;position:absolute;top:0;bottom:0;left:0;right:0}.vot-outlined-button:before{background-color:rgb(var(--vot-helper-theme));transition:opacity .2s}.vot-outlined-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-outlined-button:hover:before{opacity:.04}.vot-outlined-button:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-outlined-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-outlined-button[disabled=true]:before,.vot-outlined-button[disabled=true]:after{opacity:0}.vot-text-button{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;color:rgb(var(--vot-helper-theme));font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border:none;border-radius:4px;outline:none;min-width:64px;height:36px;margin:0;padding:0 8px;font-size:14px;font-weight:500;line-height:36px;display:inline-block;position:relative}.vot-text-button[hidden]{display:none!important}.vot-text-button::-moz-focus-inner{border:none}.vot-text-button:before,.vot-text-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-text-button:before{background-color:rgb(var(--vot-helper-theme));transition:opacity .2s}.vot-text-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-text-button:hover:before{opacity:.04}.vot-text-button:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-text-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-text-button[disabled=true]:before,.vot-text-button[disabled=true]:after{opacity:0}.vot-icon-button{--vot-helper-onsurface:rgba(var(--vot-onsurface-rgb,0,0,0),.87);box-sizing:border-box;vertical-align:middle;text-align:center;text-overflow:ellipsis;fill:var(--vot-helper-onsurface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:pointer;background-color:#0000;border:none;border-radius:50%;outline:none;width:36px;height:36px;margin:0;padding:0;font-size:14px;font-weight:500;line-height:36px;display:inline-block;position:relative}.vot-icon-button[hidden]{display:none!important}.vot-icon-button::-moz-focus-inner{border:none}.vot-icon-button:before,.vot-icon-button:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-icon-button:before{background-color:var(--vot-helper-onsurface);transition:opacity .2s}.vot-icon-button:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity .3s,background-size .4s}.vot-icon-button:hover:before{opacity:.04}.vot-icon-button:active:after{opacity:.32;background-size:100% 100%;transition:background-size,opacity}.vot-icon-button[disabled=true]{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);fill:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial;background-color:#0000}.vot-icon-button[disabled=true]:before,.vot-icon-button[disabled=true]:after{opacity:0}.vot-textfield{display:inline-block;--vot-helper-theme:rgb(var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243)))!important;--vot-helper-safari1:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important;--vot-helper-safari2:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;--vot-helper-safari3:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system)!important;text-align:start!important;padding-top:6px!important;font-size:16px!important;line-height:1.5!important;position:relative!important}.vot-textfield[hidden]{display:none!important}.vot-textfield>input,.vot-textfield>textarea{box-sizing:border-box!important;border-style:solid!important;border-width:1px!important;border-color:transparent var(--vot-helper-safari2)var(--vot-helper-safari2)!important;height:inherit!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;-webkit-text-fill-color:currentColor!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;caret-color:var(--vot-helper-theme)!important;background-color:#0000!important;border-radius:4px!important;width:100%!important;margin:0!important;padding:15px 13px!important;transition:border .2s,box-shadow .2s!important;box-shadow:inset 1px 0 #0000,inset -1px 0 #0000,inset 0 -1px #0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-moz-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):not(.vot-show-placeholer)::-webkit-input-placeholder{color:#0000!important}.vot-textfield>textarea:not(:focus):not(.vot-show-placeholer)::-webkit-input-placeholder{color:#0000!important}.vot-textfield>input:not(:focus):placeholder-shown,.vot-textfield>textarea:not(:focus):placeholder-shown{border-top-color:var(--vot-helper-safari2)!important}.vot-textfield>input+span,.vot-textfield>textarea+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;cursor:text!important;pointer-events:none!important;width:100%!important;max-height:100%!important;font-size:75%!important;line-height:15px!important;transition:color .2s,font-size .2s,line-height .2s!important;display:flex!important;position:absolute!important;top:0!important;left:0!important}.vot-textfield>input:not(:focus):placeholder-shown+span,.vot-textfield>textarea:not(:focus):placeholder-shown+span{font-size:inherit!important;line-height:68px!important}.vot-textfield>input+span:before,.vot-textfield>input+span:after,.vot-textfield>textarea+span:before,.vot-textfield>textarea+span:after{content:""!important;box-sizing:border-box!important;border-top:solid 1px var(--vot-helper-safari2)!important;pointer-events:none!important;min-width:10px!important;height:8px!important;margin-top:6px!important;transition:border .2s,box-shadow .2s!important;display:block!important;box-shadow:inset 0 1px #0000!important}.vot-textfield>input+span:before,.vot-textfield>textarea+span:before{border-left:1px solid #0000!important;border-radius:4px 0!important;margin-right:4px!important}.vot-textfield>input+span:after,.vot-textfield>textarea+span:after{border-right:1px solid #0000!important;border-radius:0 4px!important;flex-grow:1!important;margin-left:4px!important}.vot-textfield>input.vot-show-placeholer+span:before,.vot-textfield>textarea.vot-show-placeholer+span:before{margin-right:0!important}.vot-textfield>input.vot-show-placeholer+span:after,.vot-textfield>textarea.vot-show-placeholer+span:after{margin-left:0!important}.vot-textfield>input:not(:focus):placeholder-shown+span:before,.vot-textfield>input:not(:focus):placeholder-shown+span:after,.vot-textfield>textarea:not(:focus):placeholder-shown+span:before,.vot-textfield>textarea:not(:focus):placeholder-shown+span:after{border-top-color:#0000!important}.vot-textfield:hover>input:not(:disabled),.vot-textfield:hover>textarea:not(:disabled){border-color:transparent var(--vot-helper-safari3)var(--vot-helper-safari3)!important}.vot-textfield:hover>input:not(:disabled)+span:before,.vot-textfield:hover>input:not(:disabled)+span:after,.vot-textfield:hover>textarea:not(:disabled)+span:before,.vot-textfield:hover>textarea:not(:disabled)+span:after{border-top-color:var(--vot-helper-safari3)!important}.vot-textfield:hover>input:not(:disabled):not(:focus):placeholder-shown,.vot-textfield:hover>textarea:not(:disabled):not(:focus):placeholder-shown{border-color:var(--vot-helper-safari3)!important}.vot-textfield>input:focus,.vot-textfield>textarea:focus{border-color:transparent var(--vot-helper-theme)var(--vot-helper-theme)!important;box-shadow:inset 1px 0 var(--vot-helper-theme),inset -1px 0 var(--vot-helper-theme),inset 0 -1px var(--vot-helper-theme)!important;outline:none!important}.vot-textfield>input:focus+span,.vot-textfield>textarea:focus+span{color:var(--vot-helper-theme)!important}.vot-textfield>input:focus+span:before,.vot-textfield>input:focus+span:after,.vot-textfield>textarea:focus+span:before,.vot-textfield>textarea:focus+span:after{border-top-color:var(--vot-helper-theme)!important;box-shadow:inset 0 1px var(--vot-helper-theme)!important}.vot-textfield>input:disabled,.vot-textfield>input:disabled+span,.vot-textfield>textarea:disabled,.vot-textfield>textarea:disabled+span{border-color:transparent var(--vot-helper-safari1)var(--vot-helper-safari1)!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important;pointer-events:none!important}.vot-textfield>input:disabled+span:before,.vot-textfield>input:disabled+span:after,.vot-textfield>textarea:disabled+span:before,.vot-textfield>textarea:disabled+span:after,.vot-textfield>input:disabled:placeholder-shown,.vot-textfield>input:disabled:placeholder-shown+span,.vot-textfield>textarea:disabled:placeholder-shown,.vot-textfield>textarea:disabled:placeholder-shown+span{border-top-color:var(--vot-helper-safari1)!important}.vot-textfield>input:disabled:placeholder-shown+span:before,.vot-textfield>input:disabled:placeholder-shown+span:after,.vot-textfield>textarea:disabled:placeholder-shown+span:before,.vot-textfield>textarea:disabled:placeholder-shown+span:after{border-top-color:#0000!important}@media not all and (-webkit-min-device-pixel-ratio:.0000264583),not all and (min-resolution:.001dpcm){@supports ((-webkit-appearance:none)){.vot-textfield>input,.vot-textfield>input+span,.vot-textfield>textarea,.vot-textfield>textarea+span,.vot-textfield>input+span:before,.vot-textfield>input+span:after,.vot-textfield>textarea+span:before,.vot-textfield>textarea+span:after{transition-duration:.1s!important}}}.vot-checkbox{--vot-helper-theme:var(--vot-theme-rgb,var(--vot-primary-rgb,33,150,243));--vot-helper-ontheme:var(--vot-ontheme-rgb,var(--vot-onprimary-rgb,255,255,255));z-index:0;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;font-size:16px;line-height:1.5;display:inline-block;position:relative}.vot-checkbox[hidden]{display:none!important}.vot-checkbox>input{-webkit-appearance:none;appearance:none;z-index:10000;box-sizing:border-box;border:2px solid;border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.6);cursor:pointer;background:0 0;border-radius:2px;outline:none;width:18px;height:18px;margin:3px 1px;transition:border-color .2s,background-color .2s;display:block;position:absolute}.vot-checkbox>input+span{box-sizing:border-box;width:inherit;cursor:pointer;padding-left:30px;font-weight:400;display:inline-block}.vot-checkbox>input+span:before{content:"";background-color:rgb(var(--vot-onsurface-rgb,0,0,0));opacity:0;pointer-events:none;border-radius:50%;width:40px;height:40px;transition:opacity .3s,transform .2s;display:block;position:absolute;top:-8px;left:-10px;transform:scale(1)}.vot-checkbox>input+span:after{content:"";z-index:10000;pointer-events:none;border:0 solid #0000;border-width:0 0 2px 2px;width:10px;height:5px;transition:border-color .2s;display:block;position:absolute;top:3px;left:1px;transform:translate(3px,4px)rotate(-45deg);box-sizing:content-box!important}.vot-checkbox>input:checked,.vot-checkbox>input:indeterminate{border-color:rgb(var(--vot-helper-theme));background-color:rgb(var(--vot-helper-theme))}.vot-checkbox>input:checked+span:before,.vot-checkbox>input:indeterminate+span:before{background-color:rgb(var(--vot-helper-theme))}.vot-checkbox>input:checked+span:after,.vot-checkbox>input:indeterminate+span:after{border-color:rgb(var(--vot-helper-ontheme,255,255,255))}.vot-checkbox>input:indeterminate+span:after{border-left-width:0;transform:translate(4px,3px)}.vot-checkbox:hover>input+span:before{opacity:.04}.vot-checkbox:active>input,.vot-checkbox:active:hover>input:not(:disabled){border-color:rgb(var(--vot-helper-theme))}.vot-checkbox:active>input:checked{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.6);border-color:#0000}.vot-checkbox:active>input+span:before{opacity:1;transition:transform,opacity;transform:scale(0)}.vot-checkbox>input:disabled{border-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial}.vot-checkbox>input:disabled:checked,.vot-checkbox>input:disabled:indeterminate{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);border-color:#0000}.vot-checkbox>input:disabled+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38);cursor:initial}.vot-checkbox>input:disabled+span:before{opacity:0;transform:scale(0)}.vot-slider{display:inline-block;--vot-safari-helper1:rgba(var(--vot-primary-rgb,33,150,243),.04)!important;--vot-safari-helper2:rgba(var(--vot-primary-rgb,33,150,243),.12)!important;--vot-safari-helper3:rgba(var(--vot-primary-rgb,33,150,243),.16)!important;--vot-safari-helper4:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important;font-family:var(--vot-font,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system)!important;text-align:start!important;width:100%!important;font-size:16px!important;line-height:1.5!important}.vot-slider[hidden]{display:none!important}.vot-slider>input{-webkit-appearance:none!important;appearance:none!important;cursor:pointer!important;background-color:#0000!important;width:100%!important;height:36px!important;margin:0 0 -36px!important;display:block!important;position:relative!important;top:24px!important}.vot-slider>input:last-child{margin:0!important;position:static!important}.vot-slider>input:before{content:""!important;width:calc(100%*var(--vot-progress,0))!important;background:rgb(var(--vot-primary-rgb,33,150,243))!important;height:2px!important;display:block!important;position:absolute!important;top:calc(50% - 1px)!important}.vot-slider>input:disabled{cursor:default!important;opacity:.38!important}.vot-slider>input:disabled+span{color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-webkit-slider-runnable-track{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-moz-range-track{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-ms-fill-lower{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-ms-fill-upper{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.38)!important}.vot-slider>input:disabled::-moz-range-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-ms-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-webkit-slider-thumb{background-color:rgb(var(--vot-onsurface-rgb,0,0,0))!important;box-shadow:0 0 0 1px rgb(var(--vot-surface-rgb,255,255,255))!important;transform:scale(4)!important}.vot-slider>input:disabled::-ms-fill-upper{opacity:.38!important}.vot-slider>input:disabled::-moz-range-progress{background-color:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important}.vot-slider>input:disabled:-webkit-slider-thumb{color:rgb(var(--vot-surface-rgb,255,255,255))!important}.vot-slider>input:active::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--vot-safari-helper4)!important}.vot-slider>input:active::-moz-range-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.24)!important}.vot-slider>input:active::-ms-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.24)!important}.vot-slider>input:focus{outline:none!important}.vot-slider>input::-webkit-slider-runnable-track{background-color:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important}.vot-slider>input::-moz-range-track{background-color:rgba(var(--vot-primary-rgb,33,150,243),.24)!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important}.vot-slider>input::-ms-track{box-sizing:border-box!important;background-color:#0000!important;border:none!important;border-radius:1px!important;width:100%!important;height:2px!important;margin:17px 0!important;padding:0 17px!important}.vot-slider>input::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-moz-range-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-ms-thumb{-webkit-appearance:none!important;appearance:none!important;background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border:none!important;border-radius:50%!important;width:2px!important;height:2px!important;transition:box-shadow .2s!important;transform:scale(6)!important}.vot-slider>input::-webkit-slider-thumb{-webkit-appearance:none!important;margin:0!important}.vot-slider>input::-moz-range-thumb{-moz-appearance:none!important}.vot-slider>input::-ms-thumb{margin:0 17px!important}.vot-slider>input::-moz-range-progress{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-ms-fill-lower{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-ms-fill-upper{background-color:rgb(var(--vot-primary-rgb,33,150,243))!important;border-radius:1px!important;height:2px!important}.vot-slider>input::-moz-focus-outer{border:none!important}.vot-slider>span{margin-bottom:36px!important;display:inline-block!important}.vot-slider:hover>input::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--vot-safari-helper1)!important}.vot-slider:hover>input::-ms-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.04)!important}.vot-slider:hover>input:hover::-moz-range-thumb{box-shadow:0 0 0 2px rgba(var(--vot-primary-rgb,33,150,243),.04)!important}.vot-select{font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;color:var(--vot-helper-theme);fill:var(--vot-helper-theme);justify-content:space-between;align-items:center;font-size:14px;font-weight:400;line-height:1.5;display:flex;--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0)!important;--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87)!important;--vot-helper-safari1:rgba(var(--vot-onsurface-rgb,0,0,0),.6)!important;--vot-helper-safari2:rgba(var(--vot-onsurface-rgb,0,0,0),.87)!important}.vot-select[hidden]{display:none!important}.vot-select-label{font-size:16px}.vot-select-outer{cursor:pointer;justify-content:space-between;align-items:center;width:120px;max-width:120px;padding:0 5px;display:flex;border-style:solid!important;border-width:1px!important;border-color:var(--vot-helper-safari1)!important;border-radius:4px!important;transition:border .2s!important}.vot-select-outer:hover{border-color:var(--vot-helper-safari2)!important}.vot-select-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vot-select-arrow-icon{justify-content:center;align-items:center;width:20px;height:32px;display:flex}.vot-select-content-list{flex-direction:column;display:flex}.vot-select-content-list .vot-select-content-item{cursor:pointer;border-radius:8px;padding:5px 10px}.vot-select-content-list .vot-select-content-item:not([inert]):hover{background-color:#2a2c31}.vot-select-content-list .vot-select-content-item[data-vot-selected=true]{color:rgb(var(--vot-primary-rgb,33,150,243));background-color:rgba(var(--vot-primary-rgb,33,150,243),.2)}.vot-select-content-list .vot-select-content-item[data-vot-selected=true]:hover{background-color:rgba(var(--vot-primary-rgb,33,150,243),.1)!important}.vot-select-content-list .vot-select-content-item[data-vot-disabled=true]{cursor:default}.vot-select-content-list .vot-select-content-item[hidden]{display:none!important}.vot-header{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;font-weight:700;line-height:1.5}.vot-header[hidden]{display:none!important}.vot-header:not(:first-child){padding-top:8px}.vot-header-level-1{font-size:2em}.vot-header-level-2{font-size:1.5em}.vot-header-level-3{font-size:1.17em}.vot-header-level-4{font-size:1em}.vot-header-level-5{font-size:.83em}.vot-header-level-6{font-size:.67em}.vot-info{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;-webkit-user-select:text;user-select:text;font-size:16px;line-height:1.5;display:flex}.vot-info[hidden]{display:none!important}.vot-info>:not(:first-child){color:rgba(var(--vot-helper-onsurface-rgb),.5);flex:1;margin-left:8px}.vot-details{color:rgba(var(--vot-helper-onsurface-rgb),.87);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);text-align:start;cursor:pointer;border-radius:.5em;justify-content:space-between;align-items:center;margin:0 -.5em;padding:.5em;font-size:16px;line-height:1.5;transition:background .5s;display:flex}.vot-details[hidden]{display:none!important}.vot-details-arrow-icon{fill:rgba(var(--vot-helper-onsurface-rgb),.87);justify-content:center;align-items:center;width:20px;height:32px;display:flex;transform:scale(1.25)rotate(-90deg)}.vot-details:hover{background:rgba(var(--vot-onsurface-rgb,0,0,0),.04)}.vot-lang-select{--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87);color:var(--vot-helper-theme);fill:var(--vot-helper-theme);justify-content:space-between;align-items:center;display:flex}.vot-lang-select[hidden]{display:none!important}.vot-lang-select-icon{justify-content:center;align-items:center;width:32px;height:32px;display:flex}.vot-segmented-button{--vot-helper-theme-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-theme:rgba(var(--vot-helper-theme-rgb),.87);-webkit-user-select:none;user-select:none;background:rgb(var(--vot-surface-rgb,255,255,255));color:var(--vot-helper-theme);fill:var(--vot-helper-theme);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:default;z-index:2147483647;border-radius:4px;align-items:center;max-width:100vw;height:32px;font-size:16px;line-height:1.5;transition:opacity .5s;display:flex;position:absolute;top:5rem;left:50%;overflow:hidden;transform:translate(-50%)}.vot-segmented-button[hidden]{display:none!important}.vot-segmented-button *{box-sizing:border-box!important}.vot-segmented-button .vot-separator{background:rgba(var(--vot-helper-theme-rgb),.1);width:1px;height:50%}.vot-segmented-button .vot-separator[hidden]{display:none!important}.vot-segmented-button .vot-segment,.vot-segmented-button .vot-segment-only-icon{color:inherit;background-color:#0000;border:none;justify-content:center;align-items:center;height:100%;padding:0 8px;transition:background-color .1s ease-in-out;display:flex;position:relative;overflow:hidden}.vot-segmented-button .vot-segment[hidden],.vot-segmented-button [hidden].vot-segment-only-icon{display:none!important}.vot-segmented-button .vot-segment:before,.vot-segmented-button .vot-segment-only-icon:before,.vot-segmented-button .vot-segment:after,.vot-segmented-button .vot-segment-only-icon:after{content:"";border-radius:inherit;opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.vot-segmented-button .vot-segment:before,.vot-segmented-button .vot-segment-only-icon:before{background-color:rgb(var(--vot-helper-theme-rgb));transition:opacity .2s}.vot-segmented-button .vot-segment:after,.vot-segmented-button .vot-segment-only-icon:after{background:radial-gradient(circle,currentColor 1%,#0000 1%) 50%/10000% 10000% no-repeat;transition:opacity 1s,background-size .5s}.vot-segmented-button .vot-segment:hover:before,.vot-segmented-button .vot-segment-only-icon:hover:before{opacity:.04}.vot-segmented-button .vot-segment:active:after,.vot-segmented-button .vot-segment-only-icon:active:after{opacity:.16;background-size:100% 100%;transition:background-size}.vot-segmented-button .vot-segment-only-icon{min-width:32px;padding:0}.vot-segmented-button .vot-segment-label{white-space:nowrap;color:inherit;margin-left:8px;font-weight:400}.vot-segmented-button[data-status=success] .vot-translate-button{color:rgb(var(--vot-primary-rgb,33,150,243));fill:rgb(var(--vot-primary-rgb,33,150,243))}.vot-segmented-button[data-status=error] .vot-translate-button{color:#f28b82;fill:#f28b82}.vot-segmented-button[data-loading=true] #vot-loading-icon{display:block!important}.vot-segmented-button[data-loading=true] #vot-translate-icon{display:none!important}.vot-segmented-button[data-direction=column]{flex-direction:column;height:fit-content}.vot-segmented-button[data-direction=column] .vot-segment-label{display:none}.vot-segmented-button[data-direction=column]>.vot-segment-only-icon,.vot-segmented-button[data-direction=column]>.vot-segment{padding:8px}.vot-segmented-button[data-direction=column] .vot-separator{width:50%;height:1px}.vot-segmented-button[data-position=left]{top:12.5vh;left:50px}.vot-segmented-button[data-position=right]{top:12.5vh;left:auto;right:0}.vot-segmented-button svg{width:24px}.vot-menu{--vot-helper-surface-rgb:var(--vot-surface-rgb,255,255,255);--vot-helper-surface:rgb(var(--vot-helper-surface-rgb));--vot-helper-onsurface-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-onsurface:rgba(var(--vot-helper-onsurface-rgb),.87);-webkit-user-select:none;user-select:none;background-color:var(--vot-helper-surface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);cursor:default;z-index:2147483647;visibility:visible;opacity:1;transform-origin:top;border-radius:8px;min-width:300px;font-size:16px;line-height:1.5;transition:opacity .3s,transform .1s;position:absolute;top:calc(5rem + 48px);left:50%;overflow:hidden;transform:translate(-50%)scale(1)}.vot-menu *{box-sizing:border-box!important}.vot-menu[hidden]{pointer-events:none;visibility:hidden;opacity:0;transform:translate(-50%)scale(0);display:block!important}.vot-menu-content-wrapper{max-height:calc(var(--vot-container-height,75vh) - (5rem + 32px + 16px)*2);flex-direction:column;min-height:100px;display:flex;overflow:auto}.vot-menu-header-container{flex-shrink:0;align-items:flex-start;min-height:31px;display:flex}.vot-menu-header-container:empty{padding:0 0 16px}.vot-menu-header-container>.vot-icon-button{margin-inline-end:4px;margin-top:4px}.vot-menu-title-container{font-size:inherit;font-weight:inherit;text-align:start;outline:0;flex:1;margin:0;display:flex}.vot-menu-title{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex:1;padding-top:16px;font-size:16px;font-weight:400;line-height:1}.vot-menu-body-container{box-sizing:border-box;overscroll-behavior:contain;flex-direction:column;gap:8px;min-height:1.375rem;padding:0 16px;display:flex;overflow:auto;scrollbar-color:rgba(var(--vot-helper-onsurface-rgb),.1)var(--vot-helper-surface)!important}.vot-menu-body-container::-webkit-scrollbar{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-menu-body-container::-webkit-scrollbar-track{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-menu-body-container::-webkit-scrollbar-thumb{background:rgba(var(--vot-helper-onsurface-rgb),.1)!important;border:5px solid var(--vot-helper-surface)!important;-webkit-border-radius:1ex!important}.vot-menu-body-container::-webkit-scrollbar-thumb:hover{border:3px solid var(--vot-helper-surface)!important}.vot-menu-body-container::-webkit-scrollbar-corner{background:var(--vot-helper-surface)!important}.vot-menu-footer-container{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex-shrink:0;justify-content:flex-end;padding-top:16px;display:flex}.vot-menu-footer-container:empty{padding:16px 0 0}.vot-menu[data-position=left]{top:12.5vh;left:240px}.vot-menu[data-position=right]{top:12.5vh;left:auto;right:-80px}.vot-dialog{--vot-helper-surface-rgb:var(--vot-surface-rgb,255,255,255);--vot-helper-surface:rgb(var(--vot-helper-surface-rgb));--vot-helper-onsurface-rgb:var(--vot-onsurface-rgb,0,0,0);--vot-helper-onsurface:rgba(var(--vot-helper-onsurface-rgb),.87);max-width:initial;max-height:initial;width:min(var(--vot-dialog-width,512px),100%);top:50%;bottom:50%;background-color:var(--vot-helper-surface);color:var(--vot-helper-onsurface);font-family:var(--vot-font-family,"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system);-webkit-user-select:none;user-select:none;visibility:visible;opacity:1;transform-origin:50%;border-radius:8px;height:fit-content;margin:auto;padding:0;font-size:16px;line-height:1.5;transition:opacity .3s,transform .1s;display:block;position:fixed;top:0;bottom:0;left:0;right:0;overflow-x:auto;overflow-y:hidden;transform:scale(1);box-shadow:0 0 16px #0000001f,0 16px 16px #0000003d}[hidden]>.vot-dialog{pointer-events:none;opacity:0;transition:opacity .1s,transform .2s;transform:scale(.5)}.vot-dialog-container{visibility:visible;z-index:2147483647;position:absolute}.vot-dialog-container[hidden]{pointer-events:none;visibility:hidden;display:block!important}.vot-dialog-container *{box-sizing:border-box!important}.vot-dialog-backdrop{opacity:1;background-color:#0009;transition:opacity .3s;position:fixed;top:0;bottom:0;left:0;right:0}[hidden]>.vot-dialog-backdrop{pointer-events:none;opacity:0}.vot-dialog-content-wrapper{flex-direction:column;max-height:75vh;display:flex;overflow:auto}.vot-dialog-header-container{flex-shrink:0;align-items:flex-start;min-height:31px;display:flex}.vot-dialog-header-container:empty{padding:0 0 20px}.vot-dialog-header-container>.vot-icon-button{margin-inline-end:4px;margin-top:4px}.vot-dialog-title-container{font-size:inherit;font-weight:inherit;outline:0;flex:1;margin:0;display:flex}.vot-dialog-title{padding-bottom:16px;padding-inline-start:20px;padding-inline-end:20px;flex:1;padding-top:20px;font-size:115.385%;font-weight:700;line-height:1}.vot-dialog-body-container{box-sizing:border-box;overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:1.375rem;padding:0 20px;display:flex;overflow:auto;scrollbar-color:rgba(var(--vot-helper-onsurface-rgb),.1)var(--vot-helper-surface)!important}.vot-dialog-body-container::-webkit-scrollbar{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-dialog-body-container::-webkit-scrollbar-track{background:var(--vot-helper-surface)!important;width:12px!important;height:12px!important}.vot-dialog-body-container::-webkit-scrollbar-thumb{background:rgba(var(--vot-helper-onsurface-rgb),.1)!important;border:5px solid var(--vot-helper-surface)!important;-webkit-border-radius:1ex!important}.vot-dialog-body-container::-webkit-scrollbar-thumb:hover{border:3px solid var(--vot-helper-surface)!important}.vot-dialog-body-container::-webkit-scrollbar-corner{background:var(--vot-helper-surface)!important}.vot-dialog-footer-container{padding-bottom:16px;padding-inline-start:16px;padding-inline-end:16px;flex-shrink:0;justify-content:flex-end;padding-top:16px;display:flex}.vot-dialog-footer-container:empty{padding:20px 0 0}.vot-subtitles-widget{z-index:2147483647;pointer-events:none;justify-content:center;align-items:center;width:50%;min-height:20%;max-height:100%;display:flex;position:absolute;top:75%;left:25%}.vot-subtitles{--vot-subtitles-background:rgba(var(--vot-surface-rgb,46,47,52),var(--vot-subtitles-opacity,.8));background:var(--vot-subtitles-background,#2e2f34cc);color:var(--vot-subtitles-color,#e3e3e3);pointer-events:all;box-sizing:border-box;-webkit-user-select:none;user-select:none;border-radius:.5em;width:max-content;max-width:100%;max-height:100%;padding:.5em;font-size:20px;line-height:normal;position:relative}.vot-subtitles span{-webkit-user-select:text;user-select:text;font-size:inherit!important;line-height:normal!important}.vot-subtitles .passed{color:var(--vot-subtitles-passed-color,#2196f3)}:root{--vot-font-family:"Roboto","Segoe UI",BlinkMacSystemFont,system-ui,-apple-system;--vot-primary-rgb:139,180,245;--vot-onprimary-rgb:32,33,36;--vot-surface-rgb:32,33,36;--vot-onsurface-rgb:227,227,227;--vot-subtitles-color:rgb(var(--vot-onsurface-rgb,227,227,227));--vot-subtitles-passed-color:rgb(var(--vot-primary-rgb,33,150,243))}vot-block{display:block;visibility:visible!important}')},"./node_modules/bowser/es5.js":function(t){t.exports=function(t){var e={};function o(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,o),n.l=!0,n.exports}return o.m=t,o.c=e,o.d=function(t,e,a){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(o.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(a,n,function(e){return t[e]}.bind(null,n));return a},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=90)}({17:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a=o(18),n=function(){function t(){}return t.getFirstMatch=function(t,e){var o=e.match(t);return o&&o.length>0&&o[1]||""},t.getSecondMatch=function(t,e){var o=e.match(t);return o&&o.length>1&&o[2]||""},t.matchAndReturnConst=function(t,e,o){if(t.test(e))return o},t.getWindowsVersionName=function(t){switch(t){case"NT":return"NT";case"XP":case"NT 5.1":return"XP";case"NT 5.0":return"2000";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}},t.getMacOSVersionName=function(t){var e=t.split(".").splice(0,2).map((function(t){return parseInt(t,10)||0}));if(e.push(0),10===e[0])switch(e[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}},t.getAndroidVersionName=function(t){var e=t.split(".").splice(0,2).map((function(t){return parseInt(t,10)||0}));if(e.push(0),!(1===e[0]&&e[1]<5))return 1===e[0]&&e[1]<6?"Cupcake":1===e[0]&&e[1]>=6?"Donut":2===e[0]&&e[1]<2?"Eclair":2===e[0]&&2===e[1]?"Froyo":2===e[0]&&e[1]>2?"Gingerbread":3===e[0]?"Honeycomb":4===e[0]&&e[1]<1?"Ice Cream Sandwich":4===e[0]&&e[1]<4?"Jelly Bean":4===e[0]&&e[1]>=4?"KitKat":5===e[0]?"Lollipop":6===e[0]?"Marshmallow":7===e[0]?"Nougat":8===e[0]?"Oreo":9===e[0]?"Pie":void 0},t.getVersionPrecision=function(t){return t.split(".").length},t.compareVersions=function(e,o,a){void 0===a&&(a=!1);var n=t.getVersionPrecision(e),i=t.getVersionPrecision(o),r=Math.max(n,i),s=0,l=t.map([e,o],(function(e){var o=r-t.getVersionPrecision(e),a=e+new Array(o+1).join(".0");return t.map(a.split("."),(function(t){return new Array(20-t.length).join("0")+t})).reverse()}));for(a&&(s=r-Math.min(n,i)),r-=1;r>=s;){if(l[0][r]>l[1][r])return 1;if(l[0][r]===l[1][r]){if(r===s)return 0;r-=1}else if(l[0][r]1?n-1:0),r=1;r0){var r=Object.keys(o),l=s.default.find(r,(function(t){return e.isOS(t)}));if(l){var d=this.satisfies(o[l]);if(void 0!==d)return d}var u=s.default.find(r,(function(t){return e.isPlatform(t)}));if(u){var c=this.satisfies(o[u]);if(void 0!==c)return c}}if(i>0){var h=Object.keys(n),p=s.default.find(h,(function(t){return e.isBrowser(t,!0)}));if(void 0!==p)return this.compareVersion(n[p])}},e.isBrowser=function(t,e){void 0===e&&(e=!1);var o=this.getBrowserName().toLowerCase(),a=t.toLowerCase(),n=s.default.getBrowserTypeByAlias(a);return e&&n&&(a=n.toLowerCase()),a===o},e.compareVersion=function(t){var e=[0],o=t,a=!1,n=this.getBrowserVersion();if("string"==typeof n)return">"===t[0]||"<"===t[0]?(o=t.substr(1),"="===t[1]?(a=!0,o=t.substr(2)):e=[],">"===t[0]?e.push(1):e.push(-1)):"="===t[0]?o=t.substr(1):"~"===t[0]&&(a=!0,o=t.substr(1)),e.indexOf(s.default.compareVersions(n,o,a))>-1},e.isOS=function(t){return this.getOSName(!0)===String(t).toLowerCase()},e.isPlatform=function(t){return this.getPlatformType(!0)===String(t).toLowerCase()},e.isEngine=function(t){return this.getEngineName(!0)===String(t).toLowerCase()},e.is=function(t,e){return void 0===e&&(e=!1),this.isBrowser(t,e)||this.isOS(t)||this.isPlatform(t)},e.some=function(t){var e=this;return void 0===t&&(t=[]),t.some((function(t){return e.is(t)}))},t}();e.default=d,t.exports=e.default},92:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=/version\/(\d+(\.?_?\d+)+)/i,r=[{test:[/googlebot/i],describe:function(t){var e={name:"Googlebot"},o=n.default.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/opera/i],describe:function(t){var e={name:"Opera"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/opr\/|opios/i],describe:function(t){var e={name:"Opera"},o=n.default.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/SamsungBrowser/i],describe:function(t){var e={name:"Samsung Internet for Android"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/Whale/i],describe:function(t){var e={name:"NAVER Whale Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/MZBrowser/i],describe:function(t){var e={name:"MZ Browser"},o=n.default.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/focus/i],describe:function(t){var e={name:"Focus"},o=n.default.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/swing/i],describe:function(t){var e={name:"Swing"},o=n.default.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/coast/i],describe:function(t){var e={name:"Opera Coast"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe:function(t){var e={name:"Opera Touch"},o=n.default.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/yabrowser/i],describe:function(t){var e={name:"Yandex Browser"},o=n.default.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/ucbrowser/i],describe:function(t){var e={name:"UC Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/Maxthon|mxios/i],describe:function(t){var e={name:"Maxthon"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/epiphany/i],describe:function(t){var e={name:"Epiphany"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/puffin/i],describe:function(t){var e={name:"Puffin"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/sleipnir/i],describe:function(t){var e={name:"Sleipnir"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/k-meleon/i],describe:function(t){var e={name:"K-Meleon"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/micromessenger/i],describe:function(t){var e={name:"WeChat"},o=n.default.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/qqbrowser/i],describe:function(t){var e={name:/qqbrowserlite/i.test(t)?"QQ Browser Lite":"QQ Browser"},o=n.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/msie|trident/i],describe:function(t){var e={name:"Internet Explorer"},o=n.default.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/\sedg\//i],describe:function(t){var e={name:"Microsoft Edge"},o=n.default.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/edg([ea]|ios)/i],describe:function(t){var e={name:"Microsoft Edge"},o=n.default.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/vivaldi/i],describe:function(t){var e={name:"Vivaldi"},o=n.default.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/seamonkey/i],describe:function(t){var e={name:"SeaMonkey"},o=n.default.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/sailfish/i],describe:function(t){var e={name:"Sailfish"},o=n.default.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,t);return o&&(e.version=o),e}},{test:[/silk/i],describe:function(t){var e={name:"Amazon Silk"},o=n.default.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/phantom/i],describe:function(t){var e={name:"PhantomJS"},o=n.default.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/slimerjs/i],describe:function(t){var e={name:"SlimerJS"},o=n.default.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(t){var e={name:"BlackBerry"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/(web|hpw)[o0]s/i],describe:function(t){var e={name:"WebOS Browser"},o=n.default.getFirstMatch(i,t)||n.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/bada/i],describe:function(t){var e={name:"Bada"},o=n.default.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/tizen/i],describe:function(t){var e={name:"Tizen"},o=n.default.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/qupzilla/i],describe:function(t){var e={name:"QupZilla"},o=n.default.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/firefox|iceweasel|fxios/i],describe:function(t){var e={name:"Firefox"},o=n.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/electron/i],describe:function(t){var e={name:"Electron"},o=n.default.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/MiuiBrowser/i],describe:function(t){var e={name:"Miui"},o=n.default.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/chromium/i],describe:function(t){var e={name:"Chromium"},o=n.default.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,t)||n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/chrome|crios|crmo/i],describe:function(t){var e={name:"Chrome"},o=n.default.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/GSA/i],describe:function(t){var e={name:"Google Search"},o=n.default.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){var e=!t.test(/like android/i),o=t.test(/android/i);return e&&o},describe:function(t){var e={name:"Android Browser"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/playstation 4/i],describe:function(t){var e={name:"PlayStation 4"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/safari|applewebkit/i],describe:function(t){var e={name:"Safari"},o=n.default.getFirstMatch(i,t);return o&&(e.version=o),e}},{test:[/.*/i],describe:function(t){var e=-1!==t.search("\\(")?/^(.*)\/(.*)[ \t]\((.*)/:/^(.*)\/(.*) /;return{name:n.default.getFirstMatch(e,t),version:n.default.getSecondMatch(e,t)}}}];e.default=r,t.exports=e.default},93:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:[/Roku\/DVP/],describe:function(t){var e=n.default.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,t);return{name:i.OS_MAP.Roku,version:e}}},{test:[/windows phone/i],describe:function(t){var e=n.default.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.WindowsPhone,version:e}}},{test:[/windows /i],describe:function(t){var e=n.default.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,t),o=n.default.getWindowsVersionName(e);return{name:i.OS_MAP.Windows,version:e,versionName:o}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(t){var e={name:i.OS_MAP.iOS},o=n.default.getSecondMatch(/(Version\/)(\d[\d.]+)/,t);return o&&(e.version=o),e}},{test:[/macintosh/i],describe:function(t){var e=n.default.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,t).replace(/[_\s]/g,"."),o=n.default.getMacOSVersionName(e),a={name:i.OS_MAP.MacOS,version:e};return o&&(a.versionName=o),a}},{test:[/(ipod|iphone|ipad)/i],describe:function(t){var e=n.default.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,t).replace(/[_\s]/g,".");return{name:i.OS_MAP.iOS,version:e}}},{test:function(t){var e=!t.test(/like android/i),o=t.test(/android/i);return e&&o},describe:function(t){var e=n.default.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,t),o=n.default.getAndroidVersionName(e),a={name:i.OS_MAP.Android,version:e};return o&&(a.versionName=o),a}},{test:[/(web|hpw)[o0]s/i],describe:function(t){var e=n.default.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,t),o={name:i.OS_MAP.WebOS};return e&&e.length&&(o.version=e),o}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe:function(t){var e=n.default.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,t)||n.default.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,t)||n.default.getFirstMatch(/\bbb(\d+)/i,t);return{name:i.OS_MAP.BlackBerry,version:e}}},{test:[/bada/i],describe:function(t){var e=n.default.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.Bada,version:e}}},{test:[/tizen/i],describe:function(t){var e=n.default.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.Tizen,version:e}}},{test:[/linux/i],describe:function(){return{name:i.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:i.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(t){var e=n.default.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,t);return{name:i.OS_MAP.PlayStation4,version:e}}}];e.default=r,t.exports=e.default},94:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:[/googlebot/i],describe:function(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe:function(t){var e=n.default.getFirstMatch(/(can-l01)/i,t)&&"Nova",o={type:i.PLATFORMS_MAP.mobile,vendor:"Huawei"};return e&&(o.model=e),o}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(t){var e=t.test(/ipod|iphone/i),o=t.test(/like (ipod|iphone)/i);return e&&!o},describe:function(t){var e=n.default.getFirstMatch(/(ipod|iphone)/i,t);return{type:i.PLATFORMS_MAP.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"blackberry"===t.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"BlackBerry"}}},{test:function(t){return"bada"===t.getBrowserName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"windows phone"===t.getBrowserName()},describe:function(){return{type:i.PLATFORMS_MAP.mobile,vendor:"Microsoft"}}},{test:function(t){var e=Number(String(t.getOSVersion()).split(".")[0]);return"android"===t.getOSName(!0)&&e>=3},describe:function(){return{type:i.PLATFORMS_MAP.tablet}}},{test:function(t){return"android"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.mobile}}},{test:function(t){return"macos"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop,vendor:"Apple"}}},{test:function(t){return"windows"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(t){return"linux"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.desktop}}},{test:function(t){return"playstation 4"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}},{test:function(t){return"roku"===t.getOSName(!0)},describe:function(){return{type:i.PLATFORMS_MAP.tv}}}];e.default=r,t.exports=e.default},95:function(t,e,o){"use strict";e.__esModule=!0,e.default=void 0;var a,n=(a=o(17))&&a.__esModule?a:{default:a},i=o(18),r=[{test:function(t){return"microsoft edge"===t.getBrowserName(!0)},describe:function(t){if(/\sedg\//i.test(t))return{name:i.ENGINE_MAP.Blink};var e=n.default.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,t);return{name:i.ENGINE_MAP.EdgeHTML,version:e}}},{test:[/trident/i],describe:function(t){var e={name:i.ENGINE_MAP.Trident},o=n.default.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){return t.test(/presto/i)},describe:function(t){var e={name:i.ENGINE_MAP.Presto},o=n.default.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:function(t){var e=t.test(/gecko/i),o=t.test(/like gecko/i);return e&&!o},describe:function(t){var e={name:i.ENGINE_MAP.Gecko},o=n.default.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}},{test:[/(apple)?webkit\/537\.36/i],describe:function(){return{name:i.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(t){var e={name:i.ENGINE_MAP.WebKit},o=n.default.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,t);return o&&(e.version=o),e}}];e.default=r,t.exports=e.default}})},"./node_modules/requestidlecallback-polyfill/index.js":()=>{window.requestIdleCallback=window.requestIdleCallback||function(t){var e=Date.now();return setTimeout((function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})}),1)},window.cancelIdleCallback=window.cancelIdleCallback||function(t){clearTimeout(t)}}},e={};function o(a){var n=e[a];if(void 0!==n)return n.exports;var i=e[a]={exports:{}};return t[a].call(i.exports,i,i.exports,o),i.exports}(()=>{"use strict";var t=o("./node_modules/bowser/es5.js");const e=protobuf;var a;function n(t){switch(t){case 0:case"NO_CONNECTION":return a.NO_CONNECTION;case 10:case"TRANSLATING":return a.TRANSLATING;case 20:case"STREAMING":return a.STREAMING;default:return a.UNRECOGNIZED}}!function(t){t[t.NO_CONNECTION=0]="NO_CONNECTION",t[t.TRANSLATING=10]="TRANSLATING",t[t.STREAMING=20]="STREAMING",t[t.UNRECOGNIZED=-1]="UNRECOGNIZED"}(a||(a={}));const i={encode:(t,o=e.Writer.create())=>(""!==t.target&&o.uint32(10).string(t.target),""!==t.targetUrl&&o.uint32(18).string(t.targetUrl),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={target:"",targetUrl:""};for(;a.pos>>3){case 1:if(10!==t)break;i.target=a.string();continue;case 2:if(18!==t)break;i.targetUrl=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({target:f(t.target)?globalThis.String(t.target):"",targetUrl:f(t.targetUrl)?globalThis.String(t.targetUrl):""}),toJSON(t){const e={};return""!==t.target&&(e.target=t.target),""!==t.targetUrl&&(e.targetUrl=t.targetUrl),e},create:t=>i.fromPartial(t??{}),fromPartial(t){const e={target:"",targetUrl:""};return e.target=t.target??"",e.targetUrl=t.targetUrl??"",e}};const r={encode(t,o=e.Writer.create()){""!==t.url&&o.uint32(26).string(t.url),void 0!==t.deviceId&&o.uint32(34).string(t.deviceId),!1!==t.firstRequest&&o.uint32(40).bool(t.firstRequest),0!==t.duration&&o.uint32(49).double(t.duration),0!==t.unknown0&&o.uint32(56).int32(t.unknown0),""!==t.language&&o.uint32(66).string(t.language),!1!==t.forceSourceLang&&o.uint32(72).bool(t.forceSourceLang),0!==t.unknown1&&o.uint32(80).int32(t.unknown1);for(const e of t.translationHelp)i.encode(e,o.uint32(90).fork()).ldelim();return""!==t.responseLanguage&&o.uint32(114).string(t.responseLanguage),0!==t.unknown2&&o.uint32(120).int32(t.unknown2),0!==t.unknown3&&o.uint32(128).int32(t.unknown3),!1!==t.bypassCache&&o.uint32(136).bool(t.bypassCache),o},decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const r={url:"",deviceId:void 0,firstRequest:!1,duration:0,unknown0:0,language:"",forceSourceLang:!1,unknown1:0,translationHelp:[],responseLanguage:"",unknown2:0,unknown3:0,bypassCache:!1};for(;a.pos>>3){case 3:if(26!==t)break;r.url=a.string();continue;case 4:if(34!==t)break;r.deviceId=a.string();continue;case 5:if(40!==t)break;r.firstRequest=a.bool();continue;case 6:if(49!==t)break;r.duration=a.double();continue;case 7:if(56!==t)break;r.unknown0=a.int32();continue;case 8:if(66!==t)break;r.language=a.string();continue;case 9:if(72!==t)break;r.forceSourceLang=a.bool();continue;case 10:if(80!==t)break;r.unknown1=a.int32();continue;case 11:if(90!==t)break;r.translationHelp.push(i.decode(a,a.uint32()));continue;case 14:if(114!==t)break;r.responseLanguage=a.string();continue;case 15:if(120!==t)break;r.unknown2=a.int32();continue;case 16:if(128!==t)break;r.unknown3=a.int32();continue;case 17:if(136!==t)break;r.bypassCache=a.bool();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return r},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",deviceId:f(t.deviceId)?globalThis.String(t.deviceId):void 0,firstRequest:!!f(t.firstRequest)&&globalThis.Boolean(t.firstRequest),duration:f(t.duration)?globalThis.Number(t.duration):0,unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):0,language:f(t.language)?globalThis.String(t.language):"",forceSourceLang:!!f(t.forceSourceLang)&&globalThis.Boolean(t.forceSourceLang),unknown1:f(t.unknown1)?globalThis.Number(t.unknown1):0,translationHelp:globalThis.Array.isArray(t?.translationHelp)?t.translationHelp.map((t=>i.fromJSON(t))):[],responseLanguage:f(t.responseLanguage)?globalThis.String(t.responseLanguage):"",unknown2:f(t.unknown2)?globalThis.Number(t.unknown2):0,unknown3:f(t.unknown3)?globalThis.Number(t.unknown3):0,bypassCache:!!f(t.bypassCache)&&globalThis.Boolean(t.bypassCache)}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),void 0!==t.deviceId&&(e.deviceId=t.deviceId),!1!==t.firstRequest&&(e.firstRequest=t.firstRequest),0!==t.duration&&(e.duration=t.duration),0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.language&&(e.language=t.language),!1!==t.forceSourceLang&&(e.forceSourceLang=t.forceSourceLang),0!==t.unknown1&&(e.unknown1=Math.round(t.unknown1)),t.translationHelp?.length&&(e.translationHelp=t.translationHelp.map((t=>i.toJSON(t)))),""!==t.responseLanguage&&(e.responseLanguage=t.responseLanguage),0!==t.unknown2&&(e.unknown2=Math.round(t.unknown2)),0!==t.unknown3&&(e.unknown3=Math.round(t.unknown3)),!1!==t.bypassCache&&(e.bypassCache=t.bypassCache),e},create:t=>r.fromPartial(t??{}),fromPartial(t){const e={url:"",deviceId:void 0,firstRequest:!1,duration:0,unknown0:0,language:"",forceSourceLang:!1,unknown1:0,translationHelp:[],responseLanguage:"",unknown2:0,unknown3:0,bypassCache:!1};return e.url=t.url??"",e.deviceId=t.deviceId??void 0,e.firstRequest=t.firstRequest??!1,e.duration=t.duration??0,e.unknown0=t.unknown0??0,e.language=t.language??"",e.forceSourceLang=t.forceSourceLang??!1,e.unknown1=t.unknown1??0,e.translationHelp=t.translationHelp?.map((t=>i.fromPartial(t)))||[],e.responseLanguage=t.responseLanguage??"",e.unknown2=t.unknown2??0,e.unknown3=t.unknown3??0,e.bypassCache=t.bypassCache??!1,e}};const s={encode:(t,o=e.Writer.create())=>(void 0!==t.url&&o.uint32(10).string(t.url),void 0!==t.duration&&o.uint32(17).double(t.duration),0!==t.status&&o.uint32(32).int32(t.status),void 0!==t.remainingTime&&o.uint32(40).int32(t.remainingTime),void 0!==t.unknown0&&o.uint32(48).int32(t.unknown0),""!==t.translationId&&o.uint32(58).string(t.translationId),void 0!==t.language&&o.uint32(66).string(t.language),void 0!==t.message&&o.uint32(74).string(t.message),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:void 0,duration:void 0,status:0,remainingTime:void 0,unknown0:void 0,translationId:"",language:void 0,message:void 0};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(17!==t)break;i.duration=a.double();continue;case 4:if(32!==t)break;i.status=a.int32();continue;case 5:if(40!==t)break;i.remainingTime=a.int32();continue;case 6:if(48!==t)break;i.unknown0=a.int32();continue;case 7:if(58!==t)break;i.translationId=a.string();continue;case 8:if(66!==t)break;i.language=a.string();continue;case 9:if(74!==t)break;i.message=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):void 0,duration:f(t.duration)?globalThis.Number(t.duration):void 0,status:f(t.status)?globalThis.Number(t.status):0,remainingTime:f(t.remainingTime)?globalThis.Number(t.remainingTime):void 0,unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):void 0,translationId:f(t.translationId)?globalThis.String(t.translationId):"",language:f(t.language)?globalThis.String(t.language):void 0,message:f(t.message)?globalThis.String(t.message):void 0}),toJSON(t){const e={};return void 0!==t.url&&(e.url=t.url),void 0!==t.duration&&(e.duration=t.duration),0!==t.status&&(e.status=Math.round(t.status)),void 0!==t.remainingTime&&(e.remainingTime=Math.round(t.remainingTime)),void 0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.translationId&&(e.translationId=t.translationId),void 0!==t.language&&(e.language=t.language),void 0!==t.message&&(e.message=t.message),e},create:t=>s.fromPartial(t??{}),fromPartial(t){const e={url:void 0,duration:void 0,status:0,remainingTime:void 0,unknown0:void 0,translationId:"",language:void 0,message:void 0};return e.url=t.url??void 0,e.duration=t.duration??void 0,e.status=t.status??0,e.remainingTime=t.remainingTime??void 0,e.unknown0=t.unknown0??void 0,e.translationId=t.translationId??"",e.language=t.language??void 0,e.message=t.message??void 0,e}};const l={encode:(t,o=e.Writer.create())=>(""!==t.language&&o.uint32(10).string(t.language),""!==t.url&&o.uint32(18).string(t.url),0!==t.unknown0&&o.uint32(24).int32(t.unknown0),""!==t.translatedLanguage&&o.uint32(34).string(t.translatedLanguage),""!==t.translatedUrl&&o.uint32(42).string(t.translatedUrl),0!==t.unknown1&&o.uint32(48).int32(t.unknown1),0!==t.unknown2&&o.uint32(56).int32(t.unknown2),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={language:"",url:"",unknown0:0,translatedLanguage:"",translatedUrl:"",unknown1:0,unknown2:0};for(;a.pos>>3){case 1:if(10!==t)break;i.language=a.string();continue;case 2:if(18!==t)break;i.url=a.string();continue;case 3:if(24!==t)break;i.unknown0=a.int32();continue;case 4:if(34!==t)break;i.translatedLanguage=a.string();continue;case 5:if(42!==t)break;i.translatedUrl=a.string();continue;case 6:if(48!==t)break;i.unknown1=a.int32();continue;case 7:if(56!==t)break;i.unknown2=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({language:f(t.language)?globalThis.String(t.language):"",url:f(t.url)?globalThis.String(t.url):"",unknown0:f(t.unknown0)?globalThis.Number(t.unknown0):0,translatedLanguage:f(t.translatedLanguage)?globalThis.String(t.translatedLanguage):"",translatedUrl:f(t.translatedUrl)?globalThis.String(t.translatedUrl):"",unknown1:f(t.unknown1)?globalThis.Number(t.unknown1):0,unknown2:f(t.unknown2)?globalThis.Number(t.unknown2):0}),toJSON(t){const e={};return""!==t.language&&(e.language=t.language),""!==t.url&&(e.url=t.url),0!==t.unknown0&&(e.unknown0=Math.round(t.unknown0)),""!==t.translatedLanguage&&(e.translatedLanguage=t.translatedLanguage),""!==t.translatedUrl&&(e.translatedUrl=t.translatedUrl),0!==t.unknown1&&(e.unknown1=Math.round(t.unknown1)),0!==t.unknown2&&(e.unknown2=Math.round(t.unknown2)),e},create:t=>l.fromPartial(t??{}),fromPartial(t){const e={language:"",url:"",unknown0:0,translatedLanguage:"",translatedUrl:"",unknown1:0,unknown2:0};return e.language=t.language??"",e.url=t.url??"",e.unknown0=t.unknown0??0,e.translatedLanguage=t.translatedLanguage??"",e.translatedUrl=t.translatedUrl??"",e.unknown1=t.unknown1??0,e.unknown2=t.unknown2??0,e}};const d={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.language&&o.uint32(18).string(t.language),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",language:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.language=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",language:f(t.language)?globalThis.String(t.language):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.language&&(e.language=t.language),e},create:t=>d.fromPartial(t??{}),fromPartial(t){const e={url:"",language:""};return e.url=t.url??"",e.language=t.language??"",e}};const u={encode(t,o=e.Writer.create()){!1!==t.waiting&&o.uint32(8).bool(t.waiting);for(const e of t.subtitles)l.encode(e,o.uint32(18).fork()).ldelim();return o},decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={waiting:!1,subtitles:[]};for(;a.pos>>3){case 1:if(8!==t)break;i.waiting=a.bool();continue;case 2:if(18!==t)break;i.subtitles.push(l.decode(a,a.uint32()));continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({waiting:!!f(t.waiting)&&globalThis.Boolean(t.waiting),subtitles:globalThis.Array.isArray(t?.subtitles)?t.subtitles.map((t=>l.fromJSON(t))):[]}),toJSON(t){const e={};return!1!==t.waiting&&(e.waiting=t.waiting),t.subtitles?.length&&(e.subtitles=t.subtitles.map((t=>l.toJSON(t)))),e},create:t=>u.fromPartial(t??{}),fromPartial(t){const e={waiting:!1,subtitles:[]};return e.waiting=t.waiting??!1,e.subtitles=t.subtitles?.map((t=>l.fromPartial(t)))||[],e}};const c={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.timestamp&&o.uint32(18).string(t.timestamp),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",timestamp:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.timestamp=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",timestamp:f(t.timestamp)?globalThis.String(t.timestamp):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.timestamp&&(e.timestamp=t.timestamp),e},create:t=>c.fromPartial(t??{}),fromPartial(t){const e={url:"",timestamp:""};return e.url=t.url??"",e.timestamp=t.timestamp??"",e}};const h={encode:(t,o=e.Writer.create())=>(""!==t.url&&o.uint32(10).string(t.url),""!==t.language&&o.uint32(18).string(t.language),""!==t.responseLanguage&&o.uint32(26).string(t.responseLanguage),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={url:"",language:"",responseLanguage:""};for(;a.pos>>3){case 1:if(10!==t)break;i.url=a.string();continue;case 2:if(18!==t)break;i.language=a.string();continue;case 3:if(26!==t)break;i.responseLanguage=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({url:f(t.url)?globalThis.String(t.url):"",language:f(t.language)?globalThis.String(t.language):"",responseLanguage:f(t.responseLanguage)?globalThis.String(t.responseLanguage):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),""!==t.language&&(e.language=t.language),""!==t.responseLanguage&&(e.responseLanguage=t.responseLanguage),e},create:t=>h.fromPartial(t??{}),fromPartial(t){const e={url:"",language:"",responseLanguage:""};return e.url=t.url??"",e.language=t.language??"",e.responseLanguage=t.responseLanguage??"",e}};const p={encode:(t,o=e.Writer.create())=>(0!==t.interval&&o.uint32(8).int32(t.interval),void 0!==t.translatedInfo&&c.encode(t.translatedInfo,o.uint32(18).fork()).ldelim(),void 0!==t.pingId&&o.uint32(24).int32(t.pingId),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={interval:0,translatedInfo:void 0,pingId:void 0};for(;a.pos>>3){case 1:if(8!==t)break;i.interval=a.int32();continue;case 2:if(18!==t)break;i.translatedInfo=c.decode(a,a.uint32());continue;case 3:if(24!==t)break;i.pingId=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({interval:f(t.interval)?n(t.interval):0,translatedInfo:f(t.translatedInfo)?c.fromJSON(t.translatedInfo):void 0,pingId:f(t.pingId)?globalThis.Number(t.pingId):void 0}),toJSON(t){const e={};return 0!==t.interval&&(e.interval=function(t){switch(t){case a.NO_CONNECTION:return"NO_CONNECTION";case a.TRANSLATING:return"TRANSLATING";case a.STREAMING:return"STREAMING";case a.UNRECOGNIZED:default:return"UNRECOGNIZED"}}(t.interval)),void 0!==t.translatedInfo&&(e.translatedInfo=c.toJSON(t.translatedInfo)),void 0!==t.pingId&&(e.pingId=Math.round(t.pingId)),e},create:t=>p.fromPartial(t??{}),fromPartial(t){const e={interval:0,translatedInfo:void 0,pingId:void 0};return e.interval=t.interval??0,e.translatedInfo=void 0!==t.translatedInfo&&null!==t.translatedInfo?c.fromPartial(t.translatedInfo):void 0,e.pingId=t.pingId??void 0,e}};const g={encode:(t,o=e.Writer.create())=>(0!==t.pingId&&o.uint32(8).int32(t.pingId),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={pingId:0};for(;a.pos>>3){case 1:if(8!==t)break;i.pingId=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({pingId:f(t.pingId)?globalThis.Number(t.pingId):0}),toJSON(t){const e={};return 0!==t.pingId&&(e.pingId=Math.round(t.pingId)),e},create:t=>g.fromPartial(t??{}),fromPartial(t){const e={pingId:0};return e.pingId=t.pingId??0,e}};const m={encode:(t,o=e.Writer.create())=>(""!==t.uuid&&o.uint32(10).string(t.uuid),""!==t.module&&o.uint32(18).string(t.module),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={uuid:"",module:""};for(;a.pos>>3){case 1:if(10!==t)break;i.uuid=a.string();continue;case 2:if(18!==t)break;i.module=a.string();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({uuid:f(t.uuid)?globalThis.String(t.uuid):"",module:f(t.module)?globalThis.String(t.module):""}),toJSON(t){const e={};return""!==t.uuid&&(e.uuid=t.uuid),""!==t.module&&(e.module=t.module),e},create:t=>m.fromPartial(t??{}),fromPartial(t){const e={uuid:"",module:""};return e.uuid=t.uuid??"",e.module=t.module??"",e}};const v={encode:(t,o=e.Writer.create())=>(""!==t.secretKey&&o.uint32(10).string(t.secretKey),0!==t.expires&&o.uint32(16).int32(t.expires),o),decode(t,o){const a=t instanceof e.Reader?t:e.Reader.create(t);let n=void 0===o?a.len:a.pos+o;const i={secretKey:"",expires:0};for(;a.pos>>3){case 1:if(10!==t)break;i.secretKey=a.string();continue;case 2:if(16!==t)break;i.expires=a.int32();continue}if(4==(7&t)||0===t)break;a.skipType(7&t)}return i},fromJSON:t=>({secretKey:f(t.secretKey)?globalThis.String(t.secretKey):"",expires:f(t.expires)?globalThis.Number(t.expires):0}),toJSON(t){const e={};return""!==t.secretKey&&(e.secretKey=t.secretKey),0!==t.expires&&(e.expires=Math.round(t.expires)),e},create:t=>v.fromPartial(t??{}),fromPartial(t){const e={secretKey:"",expires:0};return e.secretKey=t.secretKey??"",e.expires=t.expires??0,e}};function f(t){return null!=t}const b={encodeTranslationRequest:(t,e,o,a,n)=>r.encode({url:t,firstRequest:!0,duration:e,unknown0:1,language:o,forceSourceLang:!1,unknown1:0,translationHelp:n||[],responseLanguage:a,unknown2:0,unknown3:1,bypassCache:!1}).finish(),decodeTranslationResponse:t=>s.decode(new Uint8Array(t)),encodeSubtitlesRequest:(t,e)=>d.encode({url:t,language:e}).finish(),decodeSubtitlesResponse:t=>u.decode(new Uint8Array(t)),encodeStreamPingRequest:t=>g.encode({pingId:t}).finish(),encodeStreamRequest:(t,e,o)=>h.encode({url:t,language:e,responseLanguage:o}).finish(),decodeStreamResponse:t=>p.decode(new Uint8Array(t)),encodeYandexSessionRequest:(t,e)=>m.encode({uuid:t,module:e}).finish(),decodeYandexSessionResponse:t=>v.decode(new Uint8Array(t))},y={host:"api.browser.yandex.ru",hostVOT:"vot-api.toil.cc/v1",mediaProxy:"media-proxy.toil.cc",userAgent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 YaBrowser/24.7.0.0 Safari/537.36",componentVersion:"24.7.3.1250",hmac:"bt8xH3VOlb4mqf0nqAibnDOoiPlXsisf",defaultDuration:343},w=new TextEncoder;async function x(t,e,o){const a=await crypto.subtle.importKey("raw",w.encode(e),{name:"HMAC",hash:{name:t}},!1,["sign","verify"]);return await crypto.subtle.sign("HMAC",a,o)}async function S(t){const e=await x("SHA-256",y.hmac,t);return new Uint8Array(e).reduce(((t,e)=>t+e.toString(16).padStart(2,"0")),"")}var k,T;!function(t){t.custom="custom",t.directlink="custom",t.youtube="youtube",t.piped="piped",t.invidious="invidious",t.vk="vk",t.nine_gag="nine_gag",t.gag="nine_gag",t.twitch="twitch",t.proxitok="proxitok",t.tiktok="tiktok",t.vimeo="vimeo",t.xvideos="xvideos",t.pornhub="pornhub",t.twitter="twitter",t.rumble="rumble",t.facebook="facebook",t.rutube="rutube",t.coub="coub",t.bilibili="bilibili",t.mail_ru="mailru",t.mailru="mailru",t.bitchute="bitchute",t.eporner="eporner",t.peertube="peertube",t.dailymotion="dailymotion",t.trovo="trovo",t.yandexdisk="yandexdisk",t.ok_ru="okru",t.okru="okru",t.googledrive="googledrive",t.bannedvideo="bannedvideo",t.weverse="weverse",t.newgrounds="newgrounds",t.egghead="egghead",t.youku="youku",t.archive="archive",t.kodik="kodik",t.patreon="patreon",t.reddit="reddit",t.kick="kick",t.apple_developer="apple_developer",t.appledeveloper="apple_developer",t.poketube="poketube",t.epicgames="epicgames",t.nineanimetv="nineanimetv",t.odysee="odysee",t.coursehunter="coursehunter",t.sap="sap",t.udemy="udemy",t.coursera="coursera",t.watchpornto="watchpornto",t.linkedin="linkedin"}(k||(k={})),function(t){t[t.FAILED=0]="FAILED",t[t.FINISHED=1]="FINISHED",t[t.WAITING=2]="WAITING",t[t.LONG_WAITING=3]="LONG_WAITING",t[t.PART_CONTENT=5]="PART_CONTENT",t[t.LONG_WAITING_2=6]="LONG_WAITING_2"}(T||(T={}));const C={afr:"af",aka:"ak",alb:"sq",amh:"am",ara:"ar",arm:"hy",asm:"as",aym:"ay",aze:"az",baq:"eu",bel:"be",ben:"bn",bos:"bs",bul:"bg",bur:"my",cat:"ca",chi:"zh",cos:"co",cze:"cs",dan:"da",div:"dv",dut:"nl",eng:"en",epo:"eo",est:"et",ewe:"ee",fin:"fi",fre:"fr",fry:"fy",geo:"ka",ger:"de",gla:"gd",gle:"ga",glg:"gl",gre:"el",grn:"gn",guj:"gu",hat:"ht",hau:"ha",hin:"hi",hrv:"hr",hun:"hu",ibo:"ig",ice:"is",ind:"id",ita:"it",jav:"jv",jpn:"ja",kan:"kn",kaz:"kk",khm:"km",kin:"rw",kir:"ky",kor:"ko",kur:"ku",lao:"lo",lat:"la",lav:"lv",lin:"ln",lit:"lt",ltz:"lb",lug:"lg",mac:"mk",mal:"ml",mao:"mi",mar:"mr",may:"ms",mlg:"mg",mlt:"mt",mon:"mn",nep:"ne",nor:"no",nya:"ny",ori:"or",orm:"om",pan:"pa",per:"fa",pol:"pl",por:"pt",pus:"ps",que:"qu",rum:"ro",rus:"ru",san:"sa",sin:"si",slo:"sk",slv:"sl",smo:"sm",sna:"sn",snd:"sd",som:"so",sot:"st",spa:"es",srp:"sr",sun:"su",swa:"sw",swe:"sv",tam:"ta",tat:"tt",tel:"te",tgk:"tg",tha:"th",tir:"ti",tso:"ts",tuk:"tk",tur:"tr",uig:"ug",ukr:"uk",urd:"ur",uzb:"uz",vie:"vi",wel:"cy",xho:"xh",yid:"yi",yor:"yo",zul:"zu"};async function L(t,e={headers:{"User-Agent":y.userAgent}}){const{timeout:o=3e3,...a}=e,n=new AbortController,i=setTimeout((()=>n.abort()),o),r=await fetch(t,{signal:n.signal,...a});return clearTimeout(i),r}function V(t){return 3===t.length?C[t]:t.toLowerCase().split(/[_;-]/)[0].trim()}function A(t,e="mp4"){return`https://${y.mediaProxy}/v1/proxy/video.${e}?url=${encodeURIComponent(t.href)}&origin=${t.origin}&referer=${t.origin}`}const I=[{additionalData:"mobile",host:k.youtube,url:"https://youtu.be/",match:/^m.youtube.com$/,selector:"shorts-video #player"},{additionalData:"mobile",host:k.youtube,url:"https://youtu.be/",match:/^m.youtube.com$/,selector:".player-container"},{host:k.youtube,url:"https://youtu.be/",match:/^(www.)?youtube(-nocookie|kids)?.com$/,selector:".html5-video-container:not(#inline-player *)"},{host:k.invidious,url:"https://youtu.be/",match:["yewtu.be","yt.artemislena.eu","invidious.flokinet.to","iv.melmac.space","inv.nadeko.net","inv.tux.pizza","invidious.private.coffee","yt.drgnz.club","vid.puffyan.us","invidious.dhusch.de"],selector:"#player",needBypassCSP:!0},{host:k.piped,url:"https://youtu.be/",match:["piped.video","piped.tokhmi.xyz","piped.moomoo.me","piped.syncpundit.io","piped.mha.fi","watch.whatever.social","piped.garudalinux.org","efy.piped.pages.dev","watch.leptons.xyz","piped.lunar.icu","yt.dc09.ru","piped.mint.lgbt","il.ax","piped.privacy.com.de","piped.esmailelbob.xyz","piped.projectsegfau.lt","piped.in.projectsegfau.lt","piped.us.projectsegfau.lt","piped.privacydev.net","piped.palveluntarjoaja.eu","piped.smnz.de","piped.adminforge.de","piped.qdi.fi","piped.hostux.net","piped.chauvet.pro","piped.jotoma.de","piped.pfcd.me","piped.frontendfriendly.xyz"],selector:".shaka-video-container",needBypassCSP:!0},{host:k.poketube,url:"https://youtu.be/",match:["poketube.fun","pt.sudovanilla.org","poke.ggtyler.dev","poke.uk2.littlekai.co.uk","poke.blahai.gay"],selector:".video-player-container"},{additionalData:"mobile",host:k.vk,url:"https://vk.com/video?z=",match:/^m.vk.(com|ru)$/,selector:"vk-video-player",shadowRoot:!0},{additionalData:"clips",host:k.vk,url:"https://vk.com/video?z=",match:/^(www.|m.)?vk.(com|ru)$/,selector:'div[data-testid="clipcontainer-video"]'},{host:k.vk,url:"https://vk.com/video?z=",match:/^(www.|m.)?vk.(com|ru)$/,selector:".videoplayer_media"},{host:k.nine_gag,url:"https://9gag.com/gag/",match:/^9gag.com$/,selector:".video-post"},{host:k.twitch,url:"https://twitch.tv/",match:[/^m.twitch.tv$/,/^(www.)?twitch.tv$/,/^clips.twitch.tv$/,/^player.twitch.tv$/],selector:".video-ref, main > div > section > div > div > div"},{host:k.proxitok,url:"https://www.tiktok.com/",match:["proxitok.pabloferreiro.es","proxitok.pussthecat.org","tok.habedieeh.re","proxitok.esmailelbob.xyz","proxitok.privacydev.net","tok.artemislena.eu","tok.adminforge.de","tt.vern.cc","cringe.whatever.social","proxitok.lunar.icu","proxitok.privacy.com.de"],selector:".column.has-text-centered"},{host:k.tiktok,url:"https://www.tiktok.com/",match:/^(www.)?tiktok.com$/,selector:null},{host:k.vimeo,url:"https://vimeo.com/",match:/^vimeo.com$/,needExtraData:!0,selector:".player"},{host:k.vimeo,url:"https://player.vimeo.com/",match:/^player.vimeo.com$/,additionalData:"embed",needExtraData:!0,needBypassCSP:!0,selector:".player"},{host:k.xvideos,url:"https://www.xvideos.com/",match:/^(www.)?(xvideos|xv-ru).com$/,selector:".video-bg-pic",needBypassCSP:!0},{host:k.pornhub,url:"https://rt.pornhub.com/view_video.php?viewkey=",match:/^[a-z]+.pornhub.com$/,selector:".mainPlayerDiv > .video-element-wrapper-js > div",eventSelector:".mgp_eventCatcher"},{additionalData:"embed",host:k.pornhub,url:"https://rt.pornhub.com/view_video.php?viewkey=",match:t=>t.host.includes("pornhub.com")&&t.pathname.startsWith("/embed/"),selector:"#player"},{host:k.twitter,url:"https://twitter.com/i/status/",match:/^(twitter|x).com$/,selector:'div[data-testid="videoComponent"] > div:nth-child(1) > div',eventSelector:'div[data-testid="videoPlayer"]',needBypassCSP:!0},{host:k.rumble,url:"https://rumble.com/",match:/^rumble.com$/,selector:"#videoPlayer > .videoPlayer-Rumble-cls > div"},{host:k.facebook,url:"https://facebook.com/",match:t=>t.host.includes("facebook.com")&&t.pathname.includes("/videos/"),selector:'div[role="main"] div[data-pagelet$="video" i]',needBypassCSP:!0},{additionalData:"reels",host:k.facebook,url:"https://facebook.com/",match:t=>t.host.includes("facebook.com")&&t.pathname.includes("/reel/"),selector:'div[role="main"]',needBypassCSP:!0},{host:k.rutube,url:"https://rutube.ru/video/",match:/^rutube.ru$/,selector:".video-player > div > div > div:nth-child(2)"},{additionalData:"embed",host:k.rutube,url:"https://rutube.ru/video/",match:/^rutube.ru$/,selector:"#app > div > div"},{host:k.bilibili,url:"https://www.bilibili.com/video/",match:/^(www|m|player).bilibili.com$/,selector:".bpx-player-video-wrap"},{additionalData:"old",host:k.bilibili,url:"https://www.bilibili.com/video/",match:/^(www|m).bilibili.com$/,selector:null},{host:k.mailru,url:"https://my.mail.ru/",match:/^my.mail.ru$/,selector:"#b-video-wrapper"},{host:k.bitchute,url:"https://www.bitchute.com/video/",match:/^(www.)?bitchute.com$/,selector:".video-js"},{host:k.eporner,url:"https://www.eporner.com/",match:/^(www.)?eporner.com$/,selector:".vjs-v7"},{host:k.peertube,url:"stub",match:["peertube.1312.media","tube.shanti.cafe","bee-tube.fr","video.sadmin.io","dalek.zone","review.peertube.biz","peervideo.club","tube.la-dina.net","peertube.tmp.rcp.tf","peertube.su","video.blender.org","videos.viorsan.com","tube-sciences-technologies.apps.education.fr","tube-numerique-educatif.apps.education.fr","tube-arts-lettres-sciences-humaines.apps.education.fr","beetoons.tv","comics.peertube.biz","makertube.net"],selector:".vjs-v7"},{host:k.dailymotion,url:"https://dai.ly/",match:/^geo([\d]+)?.dailymotion.com$/,selector:".player"},{host:k.trovo,url:"https://trovo.live/s/",match:/^trovo.live$/,selector:".player-video"},{host:k.yandexdisk,url:"https://yadi.sk/i/",match:/^disk.yandex.ru$/,selector:".video-player__player > div:nth-child(1)",eventSelector:".video-player__player",needBypassCSP:!0},{host:k.okru,url:"https://ok.ru/video/",match:/^ok.ru$/,selector:".html5-vpl_vid"},{host:k.googledrive,url:"https://drive.google.com/file/d/",match:/^youtube.googleapis.com$/,selector:".html5-video-container"},{host:k.bannedvideo,url:"https://madmaxworld.tv/watch?id=",match:/^(www.)?banned.video|madmaxworld.tv$/,selector:".vjs-v7",needExtraData:!0},{host:k.weverse,url:"https://weverse.io/",match:/^weverse.io$/,selector:".webplayer-internal-source-wrapper",needExtraData:!0},{host:k.newgrounds,url:"https://www.newgrounds.com/",match:/^(www.)?newgrounds.com$/,selector:".ng-video-player"},{host:k.egghead,url:"https://egghead.io/",match:/^egghead.io$/,selector:".cueplayer-react-video-holder"},{host:k.youku,url:"https://v.youku.com/",match:/^v.youku.com$/,selector:"#ykPlayer"},{host:k.archive,url:"https://archive.org/details/",match:/^archive.org$/,selector:".jw-media"},{host:k.kodik,url:"stub",match:/^kodik.(info|biz|cc)$/,selector:".fp-player",needExtraData:!0},{host:k.patreon,url:"stub",match:/^(www.)?patreon.com$/,selector:'div[data-tag="post-card"] div[elevation="subtle"] > div > div > div > div',needExtraData:!0},{host:k.reddit,url:"stub",match:/^(www.|new.|old.)?reddit.com$/,selector:".reddit-video-player-root",needExtraData:!0,needBypassCSP:!0},{host:k.kick,url:"https://kick.com/",match:/^kick.com$/,selector:"#injected-embedded-channel-player-video > div",needExtraData:!0},{host:k.appledeveloper,url:"https://developer.apple.com/",match:/^developer.apple.com$/,selector:".developer-video-player",needExtraData:!0,needBypassCSP:!0},{host:k.epicgames,url:"https://dev.epicgames.com/community/learning/",match:/^dev.epicgames.com$/,selector:".vjs-v7",needExtraData:!0},{host:k.nineanimetv,url:"https://9animetv.to/watch/",match:/^rapid-cloud.co$/,selector:".jw-media",needExtraData:!0},{host:k.odysee,url:"stub",match:/^odysee.com$/,selector:".vjs-v7",needExtraData:!0},{host:k.coursehunter,url:"https://coursehunter.net/course/",match:/^coursehunter.net$/,selector:"#oframeplayer > pjsdiv:nth-of-type(1)",needExtraData:!0},{host:k.sap,url:"https://learning.sap.com/courses/",match:/^learning.sap.com$/,selector:".playkit-container",eventSelector:".playkit-player",needExtraData:!0,needBypassCSP:!0},{host:k.udemy,url:"https://www.udemy.com/",match:/udemy.com$/,selector:'div[data-purpose="curriculum-item-viewer-content"] > section > div > div > div > div:nth-of-type(2)',needExtraData:!0},{host:k.coursera,url:"https://www.coursera.org/",match:/coursera.org$/,selector:".vjs-v8",needExtraData:!0},{host:k.watchpornto,url:"https://watchporn.to/",match:/^watchporn.to$/,selector:".fp-player"},{host:k.linkedin,url:"https://www.linkedin.com/learning/",match:/^(www.)?linkedin.com$/,selector:".vjs-v7",needExtraData:!0,needBypassCSP:!0},{host:k.custom,url:"stub",match:t=>/([^.]+).(mp4|webm)/.test(t.pathname),rawResult:!0}],O=JSON.parse('{"__version__":5,"recommended":"recommended","translateVideo":"Translate video","disableTranslate":"Turn off","translationSettings":"Translation settings","subtitlesSettings":"Subtitles settings","about":"About extension","resetSettings":"Reset settings","videoBeingTranslated":"The video is being translated","videoLanguage":"Video language","translationLanguage":"Translation language","translationTake":"The translation will take","translationTakeMoreThanHour":"The translation will take more than an hour","translationTakeAboutMinute":"The translation will take about a minute","translationTakeFewMinutes":"The translation will take a few minutes","translationTakeApproximatelyMinutes":"The translation will take approximately {0} minutes","translationTakeApproximatelyMinute":"The translation will take approximately {0} minutes","unSupportedExtensionError":"Error! {0} is not supported by this version of the extension!\\n\\nPlease use the cloudflare version of the VOT extension.","requestTranslationFailed":"Failed to request video translation","audioNotReceived":"Audio link not received","grantPermissionToAutoPlay":"Grant permission to autoplay","audioFormatNotSupported":"The audio format is not supported","VOTAutoTranslate":"Translate on open","VOTDontTranslateYourLang":"Do not translate from my language","VOTVolume":"Video volume","VOTVolumeTranslation":"Translation Volume","VOTAutoSetVolume":"Reduce video volume to ","VOTShowVideoSlider":"Video volume slider","VOTSyncVolume":"Link translation and video volume","VOTAudioProxy":"Proxy received audio","VOTDisableFromYourLang":"You have disabled the translation of the video in your language","VOTLiveNotSupported":"Translation of live streams is not supported","VOTPremiere":"Wait for the premiere to end before translating","VOTVideoIsTooLong":"Video is too long","VOTNoVideoIDFound":"No video ID found","VOTSubtitles":"Subtitles","VOTSubtitlesDisabled":"Disabled","VOTSubtitlesMaxLength":"Subtitles max length","VOTHighlightWords":"Highlight words","VOTTranslatedFrom":"translated from","VOTAutogenerated":"autogenerated","VOTSettings":"VOT Settings","VOTMenuLanguage":"Menu language","VOTAuthors":"Authors","VOTVersion":"Version","VOTLoader":"Loader","VOTBrowser":"Browser","VOTShowPiPButton":"Show PiP button","langs":{"auto":"Auto","af":"Afrikaans","ak":"Akan","sq":"Albanian","am":"Amharic","ar":"Arabic","hy":"Armenian","as":"Assamese","ay":"Aymara","az":"Azerbaijani","bn":"Bangla","eu":"Basque","be":"Belarusian","bho":"Bhojpuri","bs":"Bosnian","bg":"Bulgarian","my":"Burmese","ca":"Catalan","ceb":"Cebuano","zh":"Chinese","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)","co":"Corsican","hr":"Croatian","cs":"Czech","da":"Danish","dv":"Divehi","nl":"Dutch","en":"English","eo":"Esperanto","et":"Estonian","ee":"Ewe","fil":"Filipino","fi":"Finnish","fr":"French","gl":"Galician","lg":"Ganda","ka":"Georgian","de":"German","el":"Greek","gn":"Guarani","gu":"Gujarati","ht":"Haitian Creole","ha":"Hausa","haw":"Hawaiian","iw":"Hebrew","hi":"Hindi","hmn":"Hmong","hu":"Hungarian","is":"Icelandic","ig":"Igbo","id":"Indonesian","ga":"Irish","it":"Italian","ja":"Japanese","jv":"Javanese","kn":"Kannada","kk":"Kazakh","km":"Khmer","rw":"Kinyarwanda","ko":"Korean","kri":"Krio","ku":"Kurdish","ky":"Kyrgyz","lo":"Lao","la":"Latin","lv":"Latvian","ln":"Lingala","lt":"Lithuanian","lb":"Luxembourgish","mk":"Macedonian","mg":"Malagasy","ms":"Malay","ml":"Malayalam","mt":"Maltese","mi":"Māori","mr":"Marathi","mn":"Mongolian","ne":"Nepali","nso":"Northern Sotho","no":"Norwegian","ny":"Nyanja","or":"Odia","om":"Oromo","ps":"Pashto","fa":"Persian","pl":"Polish","pt":"Portuguese","pa":"Punjabi","qu":"Quechua","ro":"Romanian","ru":"Russian","sm":"Samoan","sa":"Sanskrit","gd":"Scottish Gaelic","sr":"Serbian","sn":"Shona","sd":"Sindhi","si":"Sinhala","sk":"Slovak","sl":"Slovenian","so":"Somali","st":"Southern Sotho","es":"Spanish","su":"Sundanese","sw":"Swahili","sv":"Swedish","tg":"Tajik","ta":"Tamil","tt":"Tatar","te":"Telugu","th":"Thai","ti":"Tigrinya","ts":"Tsonga","tr":"Turkish","tk":"Turkmen","uk":"Ukrainian","ur":"Urdu","ug":"Uyghur","uz":"Uzbek","vi":"Vietnamese","cy":"Welsh","fy":"Western Frisian","xh":"Xhosa","yi":"Yiddish","yo":"Yoruba","zu":"Zulu"},"udemyModuleArgsNotFound":"Could not get udemy module data due to the fact that ModuleArgs was not found","VOTTranslationHelpNull":"Could not get the data required for the translate","streamNoConnectionToServer":"There is no connection to the server","searchField":"Search...","VOTTranslateAPIErrors":"Translate errors from the API","VOTTranslationService":"Translation Service","VOTDetectService":"Detect Service","VOTTranslatingError":"Translating the error","VOTProxyWorkerHost":"Enter the proxy worker address","VOTM3u8ProxyHost":"Enter the address of the m3u8 proxy worker","proxySettings":"Proxy Settings","translationTakeApproximatelyMinute2":"The translation will take approximately {0} minutes","VOTAudioBooster":"Extended translation volume increase","VOTSubtitlesDesign":"Subtitles design","VOTSubtitlesFontSize":"Font size of subtitles","VOTSubtitlesOpacity":"Transparency of the subtitle background","VOTPressNewHotkey":"Press the new hotkey...","VOTCreateTranslationHotkey":"Create Hotkey for Translation","VOTChangeHotkeyWithCurrent":"Change Hotkey (Current: {0})","VOTSubtitlesDownloadFormat":"The format for downloading subtitles","VOTDownloadWithName":"Download files with the video name","VOTUpdateLocaleFiles":"Update localization files","VOTLocaleHash":"Locale hash","VOTUpdatedAt":"Updated at","VOTNeedWebAudioAPI":"To enable this, you must have a Web Audio API","VOTBypassMediaCSP":"Bypassing Media CSP","VOTMediaCSPEnabledOnSite":"Media CSP is enabled on this site"}'),P={log:(...t)=>{}},M=P,E="media-proxy.toil.cc/v1/proxy/m3u8",_="vot-worker.toil.cc",$="https://vot.toil.cc/v1",N=.15,R="yandex",B="yandex",D={yandex:"https://translate.toil.cc/detect",rustServer:"https://rust-server-531j.onrender.com/detect"},F={yandex:"https://translate.toil.cc/translate",deepl:"https://translate-deepl.toil.cc/translate"},q=new class{constructor(){this.gmSupport="function"==typeof GM_getValue,M.log(`GM Storage Status: ${this.gmSupport}`)}syncGet(t,e=void 0){if(this.gmSupport)return GM_getValue(t,e);const o="number"==typeof e;const a=window.localStorage.getItem(t)??e;return o?Number(a):a}async get(t,e=void 0){if(this.gmSupport)return await GM_getValue(t,e);const o="number"==typeof e;return Promise.resolve(this.syncGet(t,e,o))}syncSet(t,e){return this.gmSupport?GM_setValue(t,e):window.localStorage.setItem(t,e)}async set(t,e){return this.gmSupport?await GM_setValue(t,e):Promise.resolve(this.syncSet(t,e))}syncDelete(t){return this.gmSupport?GM_deleteValue(t):window.localStorage.removeItem(t)}async delete(t){return this.gmSupport?await GM_deleteValue(t):Promise.resolve(this.syncDelete(t))}syncList(){return this.gmSupport?GM_listValues():["autoTranslate","dontTranslateLanguage","dontTranslateYourLang","autoSetVolumeYandexStyle","autoVolume","buttonPos","showVideoSlider","syncVolume","subtitlesMaxLength","highlightWords","responseLanguage","defaultVolume","audioProxy","showPiPButton","translateAPIErrors","translationService","detectService","m3u8ProxyHost","translateProxyEnabled","hotkeyButton","proxyWorkerHost","audioBooster","locale-version","locale-lang","locale-phrases"]}async list(){return this.gmSupport?await GM_listValues():Promise.resolve(this.syncList())}},U="https://raw.githubusercontent.com/ilyhalight/voice-over-translation/master/src/localization",H=["auto","en","ru","af","am","ar","az","bg","bn","bs","ca","cs","cy","da","de","el","es","et","eu","fa","fi","fr","gl","hi","hr","hu","hy","id","it","ja","jv","kk","km","kn","ko","lo","mk","ml","mn","ms","mt","my","ne","nl","pa","pl","pt","ro","si","sk","sl","sq","sr","su","sv","sw","tr","uk","ur","uz","vi","zh","zu"],z=new class{lang="en";locale={};gmValues=["locale-phrases","locale-lang","locale-version","locale-lang-override"];constructor(){const t=q.syncGet("locale-lang-override","auto");this.lang=t&&"auto"!==t?t:(navigator.language||navigator.userLanguage)?.substr(0,2)?.toLowerCase()??"en",this.setLocaleFromJsonString(q.syncGet("locale-phrases",""))}reset(){for(let t=0;ta&&o===this.lang)return;const n=await this.checkUpdates();if(await q.set("locale-updated-at",a),n){M.log("Updating locale...");try{const t=await Q(`${U}/locales/${this.lang}.json`);if(200!==t.status)throw t.status;const e=await t.text();await q.set("locale-phrases",e),this.setLocaleFromJsonString(e),await q.set("locale-hash",n),await q.set("locale-lang",this.lang)}catch(t){console.error("[VOT] [localizationProvider] Failed to get locale, cause:",t),this.setLocaleFromJsonString(await q.get("locale-phrases",""))}}}setLocaleFromJsonString(t){try{this.locale=JSON.parse(t)??{}}catch(t){console.error("[VOT] [localizationProvider]",t),this.locale={}}}getFromLocale(t,e){const o=e.split(".").reduce(((t,e)=>{if("object"==typeof t&&t)return t[e]}),t);return void 0===o&&console.warn("[VOT] [localizationProvider] locale",t,"doesn't contain key",e),o}getDefault(t){return this.getFromLocale(O,t)??t}get(t){return this.getFromLocale(this.locale,t)??this.getFromLocale(O,t)??t}},W=navigator.language||navigator.userLanguage,j=W?.substr(0,2)?.toLowerCase()??"en";function G(t){return t.toLowerCase().split(/[_;-]/)[0].trim()}function Y(){return"pictureInPictureEnabled"in document&&document.pictureInPictureEnabled}function K(){return"undefined"!=typeof Hls&&Hls?.isSupported()?new Hls({debug:!1,lowLatencyMode:!0,backBufferLength:90}):void 0}const J=new RegExp([/(?:https?|ftp):\/\/\S+/g,/https?:\/\/\S+|www\.\S+/gm,/\b\S+\.\S+/gm,/#[^\s#]+/g,/Auto-generated by YouTube/g,/Provided to YouTube by/g,/Released on/g,/0x[a-fA-F0-9]{40}/g,/[13][a-km-zA-HJ-NP-Z1-9]{25,34}/g,/4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}/g,/Paypal/g].map((t=>t.source)).join("|"));function Z(t,e){const o=URL.createObjectURL(t),a=document.createElement("a");a.href=o,a.download=e,a.click(),URL.revokeObjectURL(o)}function X(t){return 0===t.trim().length?(new Date).toLocaleDateString("en-us").replaceAll("/","-"):t.replace(/[\\/:*?"'<>|]/g,"")}async function Q(t,e={}){const{timeout:o=15e3,...a}=e,n=new AbortController,i=setTimeout((()=>n.abort()),o);try{if(t.includes("api.browser.yandex.ru"))throw new Error("Preventing yandex cors");const e=await fetch(t,{signal:n.signal,...a});return clearTimeout(i),e}catch(e){return M.log("GM_fetch preventing cors by GM_xmlhttpRequest",e.message),new Promise(((e,n)=>{clearTimeout(i),GM_xmlhttpRequest({method:a.method||"GET",url:t,responseType:"blob",...a,data:a.body,timeout:o,onload:t=>{const o=Object.fromEntries(t.responseHeaders.trim().split(/\r?\n/).map((t=>t.split(/: (.+)/))).filter((([t])=>t&&/^[\w-]+$/.test(t))));e(new Response(t.response,{status:t.status,headers:o}))},ontimeout:()=>n(new Error("Timeout")),onerror:t=>n(t),onabort:()=>n(new Error("AbortError"))})}))}}function tt(){return Math.floor(Date.now()/1e3)}class et extends Error{constructor(t){super(t),this.name="VideoHelper",this.message=t}}class ot{API_ORIGIN="https://example.com";fetch;extraInfo;referer;service;constructor({fetchFn:t=Q,extraInfo:e=!0,referer:o=document.referrer??window.location.origin+"/",service:a}={}){this.fetch=t,this.extraInfo=e,this.referer=o,this.service=a}async getVideoData(t){}async getVideoId(t){}returnBaseData(t){if(this.service)return{url:this.service.url+t,videoId:t,host:this.service.host,duration:void 0}}}const at=["auto","ru","en","zh","ko","lt","lv","ar","fr","it","es","de","ja"],nt=["ru","en","kk"],it=["srt","vtt","json"];const rt={[k.mailru]:class extends ot{API_ORIGIN="https://my.mail.ru";async getVideoMeta(t){try{const e=await this.fetch(`${this.API_ORIGIN}/+/video/meta/${t}?xemail=&ajax_call=1&func_name=&mna=&mnb=&ext=1&_=${(new Date).getTime()}`);return await e.json()}catch(t){return void console.error("Failed to get mail.ru video data",t.message)}}async getVideoId(t){const e=t.pathname;if(/\/(v|mail|bk|inbox)\//.exec(e))return e.slice(1);const o=/video\/embed\/([^/]+)/.exec(e)?.[1];if(!o)return;const a=await this.getVideoMeta(o);return a?a.meta.url.replace("//my.mail.ru/",""):void 0}},[k.weverse]:class extends ot{API_ORIGIN="https://global.apis.naver.com/weverse/wevweb";API_APP_ID="be4d79eb8fc7bd008ee82c8ec4ff6fd4";API_HMAC_KEY="1b9cb6378d959b45714bec49971ade22e6e24e42";HEADERS={Accept:"application/json, text/plain, */*",Origin:"https://weverse.io",Referer:"https://weverse.io/"};getURLData(){return{appId:this.API_APP_ID,language:"en",os:"WEB",platform:"WEB",wpf:"pc"}}async createHash(t){const e=Date.now(),o=t.substring(0,Math.min(255,t.length))+e,a=await async function(t,e){try{const o=w.encode(e),a=await x("SHA-1",t,o);return btoa(String.fromCharCode(...new Uint8Array(a)))}catch(t){return console.error(t),!1}}(this.API_HMAC_KEY,o);if(!a)throw new et("Failed to get weverse HMAC signature");return{wmsgpad:e.toString(),wmd:a}}async getHashURLParams(t){const e=await this.createHash(t);return new URLSearchParams(e).toString()}async getPostPreview(t){const e=`/post/v1.0/post-${t}/preview?`+new URLSearchParams({fieldSet:"postForPreview",...this.getURLData()}).toString();try{const t=await this.getHashURLParams(e),o=await this.fetch(this.API_ORIGIN+e+"&"+t,{headers:this.HEADERS});return await o.json()}catch(e){return console.error(`Failed to get weverse post preview by postId: ${t}`,e.message),!1}}async getVideoInKey(t){const e=`/video/v1.1/vod/${t}/inKey?`+new URLSearchParams({gcc:"RU",...this.getURLData()}).toString();try{const t=await this.getHashURLParams(e),o=await this.fetch(this.API_ORIGIN+e+"&"+t,{method:"POST",headers:this.HEADERS});return await o.json()}catch(e){return console.error(`Failed to get weverse InKey by videoId: ${t}`,e.message),!1}}async getVideoInfo(t,e,o){const a=Date.now();try{const n=new URLSearchParams({key:e,sid:o,nonce:a.toString(),devt:"html5_pc",prv:"N",aup:"N",stpb:"N",cpl:"en",env:"prod",lc:"en",adi:JSON.stringify([{adSystem:null}]),adu:"/"}).toString(),i=await this.fetch(`https://global.apis.naver.com/rmcnmv/rmcnmv/vod/play/v2.0/${t}?`+n,{headers:this.HEADERS});return await i.json()}catch(a){return console.error(`Failed to get weverse video info (infraVideoId: ${t}, inkey: ${e}, serviceId: ${o}`,a.message),!1}}extractVideoInfo(t){return t.find((t=>!1===t.useP2P&&t.source.includes(".mp4")))}async getVideoData(t){const e=await this.getPostPreview(t);if(!e)return;const{videoId:o,serviceId:a,infraVideoId:n}=e.extension.video;if(!(o&&a&&n))return;const i=await this.getVideoInKey(o);if(!i)return;const r=await this.getVideoInfo(n,i.inKey,a);if(!r)return;const s=this.extractVideoInfo(r.videos.list);return s?{url:s.source,duration:s.duration}:void 0}async getVideoId(t){return/([^/]+)\/(live|media)\/([^/]+)/.exec(t.pathname)?.[3]}},[k.kodik]:class extends ot{API_ORIGIN=window.location.origin;async getSecureData(t){try{const e=await this.fetch(`${this.API_ORIGIN}${t}`,{headers:{"User-Agent":y.userAgent,Origin:this.API_ORIGIN,Referer:this.API_ORIGIN}}),o=await e.text(),[a,n,i]=t.split("/").filter((t=>t)),r=(new DOMParser).parseFromString(o,"text/html"),s=Array.from(r.getElementsByTagName("script")).filter((t=>t.innerHTML.includes(`videoId = "${n}"`)));if(!s.length)throw new et("Failed to find secure script");const l=/'{[^']+}'/.exec(s[0].textContent.trim())?.[0];if(!l)throw new et("Secure json wasn't found in secure script");const d=JSON.parse(l.replaceAll("'",""));return{videoType:a,videoId:n,hash:i,...d}}catch(e){return console.error(`Failed to get kodik secure data by videoPath: ${t}.`,e.message),!1}}async getFtor(t){const{videoType:e,videoId:o,hash:a,d:n,d_sign:i,pd:r,pd_sign:s,ref:l,ref_sign:d}=t;try{const t=await this.fetch(this.API_ORIGIN+"/ftor",{method:"POST",headers:{"User-Agent":y.userAgent,Origin:this.API_ORIGIN,Referer:`${this.API_ORIGIN}/${e}/${o}/${a}/360p`},body:new URLSearchParams({d:n,d_sign:i,pd:r,pd_sign:s,ref:decodeURIComponent(l),ref_sign:d,bad_user:"false",cdn_is_working:"true",info:"{}",type:e,hash:a,id:o})});return await t.json()}catch(t){return console.error(`Failed to get kodik video data (type: ${e}, id: ${o}, hash: ${a})`,t.message),!1}}decryptUrl(t){const e=atob(t.replace(/[a-zA-Z]/g,(function(t){const e=t.charCodeAt(0)+13,o=t<="Z"?90:122;return String.fromCharCode(o>=e?e:e-26)})));return"https:"+e}async getVideoData(t){const e=await this.getSecureData(t);if(!e)return;const o=await this.getFtor(e);if(!o)return;const a=Object.entries(o.links[o.default.toString()]),n=a.find((([t,e])=>"application/x-mpegURL"===e.type))?.[1];return n?{url:this.decryptUrl(n.src)}:void 0}async getVideoId(t){return/\/(seria|video)\/([^/]+)\/([^/]+)\/([\d]+)p/.exec(t.pathname)?.[0]}},[k.patreon]:class extends ot{API_ORIGIN="https://www.patreon.com/api";async getPosts(t){try{const e=await this.fetch(`${this.API_ORIGIN}/posts/${t}?json-api-use-default-includes=false`);return await e.json()}catch(e){return console.error(`Failed to get patreon posts by postId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getPosts(t);if(!e)return;const o=e.data.attributes.post_file.url;return o?{url:o}:void 0}async getVideoId(t){const e=/posts\/([^/]+)/.exec(t.pathname)?.[1];if(e)return e.replace(/[^\d.]/g,"")}},[k.reddit]:class extends ot{API_ORIGIN="https://www.reddit.com";async getVideoData(t){try{const t=document.querySelector("[data-hls-url]")?.dataset.hlsUrl.replaceAll("&","&");if(!t)throw new et("Failed to find content url");return{url:decodeURIComponent(t)}}catch(e){return void console.error(`Failed to get reddit video data by video ID: ${t}`,e.message)}}async getVideoId(t){return/\/r\/(([^/]+)\/([^/]+)\/([^/]+)\/([^/]+))/.exec(t.pathname)?.[1]}},[k.bannedvideo]:class extends ot{API_ORIGIN="https://api.banned.video";async getVideoInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/graphql`,{method:"POST",body:JSON.stringify({operationName:"GetVideo",query:"query GetVideo($id: String!) {\n getVideo(id: $id) {\n title\n description: summary\n duration: videoDuration\n videoUrl: directUrl\n isStream: live\n }\n }",variables:{id:t}}),headers:{"User-Agent":"bannedVideoFrontEnd","apollographql-client-name":"banned-web","apollographql-client-version":"1.3","content-type":"application/json"}});return await e.json()}catch(e){return console.error(`Failed to get bannedvideo video info by videoId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getVideoInfo(t);if(!e)return;const{videoUrl:o,duration:a,isStream:n,description:i,title:r}=e.data.getVideo;return{url:o,duration:a,isStream:n,title:r,description:i}}async getVideoId(t){return t.searchParams.get("id")??void 0}},[k.kick]:class extends ot{API_ORIGIN="https://kick.com/api";async getClipInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/v2/clips/${t}`),o=await e.json(),{clip_url:a,duration:n,title:i}=o.clip;return{url:a,duration:n,title:i}}catch(e){return void console.error(`Failed to get kick clip info by clipId: ${t}.`,e.message)}}async getVideoInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/v1/video/${t}`),o=await e.json(),{source:a,livestream:n}=o,{session_title:i,duration:r}=n;return{url:a,duration:Math.round(r/1e3),title:i}}catch(e){return void console.error(`Failed to get kick video info by videoId: ${t}.`,e.message)}}async getVideoData(t){return t.startsWith("videos")?await this.getVideoInfo(t.replace("videos/","")):await this.getClipInfo(t.replace("clips/",""))}async getVideoId(t){return/([^/]+)\/((videos|clips)\/([^/]+))/.exec(t.pathname)?.[2]}},[k.appledeveloper]:class extends ot{API_ORIGIN="https://developer.apple.com";async getVideoData(t){try{const t=document.querySelector("meta[property='og:video']")?.content;if(!t)throw new et("Failed to find content url");return{url:t}}catch(e){return void console.error(`Failed to get apple developer video data by video ID: ${t}`,e.message)}}async getVideoId(t){return/videos\/play\/([^/]+)\/([\d]+)/.exec(t.pathname)?.[0]}},[k.epicgames]:class extends ot{API_ORIGIN="https://dev.epicgames.com/community/api/learning";async getPostInfo(t){try{const e=await this.fetch(`${this.API_ORIGIN}/post.json?hash_id=${t}`);return await e.json()}catch(e){return console.error(`Failed to get epicgames post info by videoId: ${t}.`,e.message),!1}}async getVideoData(t){const e=await this.getPostInfo(t);if(!e)return;const o=e.blocks.find((t=>"video"===t.type)),a=o?.video_url?.replace("qsep://","https://");if(!a)return;const{title:n,description:i}=e,r=o?.video_captions?.map((t=>({language:V(t.locale),format:"vtt",url:t.signed_url})));return{url:a,title:n,description:i,subtitles:r}}async getVideoId(t){return/\/(\w{3,5})\/[^/]+$/.exec(t.pathname)?.[1]}},[k.nineanimetv]:class extends ot{API_ORIGIN="https://9animetv.to/ajax/episode";RAPID_CLOUD_ORIGIN="https://rapid-cloud.co/ajax/embed-6-v2";async getSourceId(t){try{const e=await this.fetch(`${this.API_ORIGIN}/servers?episodeId=${t}`),o=await e.json();return!!o.html&&/data-id="(\d+)"/.exec(o.html)?.[1]}catch(e){return console.error(`Failed to get 9animetv servers info by episodeId: ${t}.`,e.message),!1}}async getPlayerLink(t){try{const e=await this.fetch(`${this.API_ORIGIN}/sources?id=${t}`),o=await e.json();return!!o.link.includes("rapid-cloud.co")&&o.link}catch(e){return console.error(`Failed to get player link by sourceId: ${t}.`,e.message),!1}}async getRapidCloudData(t){try{const e=await this.fetch(`${this.RAPID_CLOUD_ORIGIN}/getSources?id=${t}`),o=await e.json();return o.encrypted?(console.warn("Encrypted RapidCloud data found. Let us know about it",o),!1):o}catch(e){return console.error(`Failed to get rapid cloud data by rapidId: ${t}.`,e.message),!1}}async getVideoData(t){const e=t.split("?ep=")[1],o=await this.getSourceId(e);if(!o)return;const a=await this.getPlayerLink(o);if(!a)return;const n=/\/([^/?]+)\?/.exec(a)?.[1];if(!n)return;const i=await this.getRapidCloudData(n);if(!i)return;const r=i.sources.find((t=>"hls"===t.type))?.file;if(!r)return;const s=i.tracks.reduce(((t,e)=>{const o=/([\w+]+)(-\d)?\.vtt/.exec(e.file)?.[1];if(!o)return t;const a=V(3===o.length?o:e.label);return t.find((t=>t.language===a))||t.push({language:a,format:"vtt",url:e.file}),t}),[]);return{url:r,subtitles:s}}async getVideoId(t){return new Promise((t=>{const e="https://9animetv.to";window.addEventListener("message",(o=>{o.origin===e&&o.data?.startsWith("getVideoId:")&&t(o.data.replace("getVideoId:",""))})),window.top.postMessage("getVideoId",e)}))}},[k.odysee]:class extends ot{API_ORIGIN="https://odysee.com";async getVideoData(t){try{const e=await this.fetch(`${this.API_ORIGIN}/${t}`),o=await e.text(),a=/"contentUrl":(\s)?"([^"]+)"/.exec(o)?.[2];if(!a)throw new Error("Odysee url doesn't parsed");return{url:a}}catch(e){return void console.error(`Failed to get odysee video data by video ID: ${t}`,e.message)}}async getVideoId(t){return t.pathname.slice(1)}},[k.coursehunter]:class extends ot{API_ORIGIN="https://coursehunter.net/api/v1";getCourseId(t){return window.course_id??+document.querySelector('input[name="course_id"]')?.value}async getLessonsData(t){try{const e=await this.fetch(`${this.API_ORIGIN}/course/${t}/lessons`);return await e.json()}catch(e){return console.error(`Failed to get Coursehunter lessons data by courseId: ${t}`,e.message),!1}}async getVideoData(t){const e=this.getCourseId(t);if(!e)return;const o=window.lessons??await this.getLessonsData(e);if(!o)return;const a=+(t.split("?lesson=")?.[1]??document.querySelector(".lessons-item_active")?.dataset?.index??1),n=o?.[a-1],{file:i,duration:r,title:s}=n;return i?{url:i,duration:r,title:s}:void 0}async getVideoId(t){const e=/\/course\/([^/]+)/.exec(t.pathname)?.[1];return e?e+t.search:void 0}},[k.twitch]:class extends ot{API_ORIGIN="https://clips.twitch.tv";async getClipLink(t,e){const o=document.querySelector("script[type='application/ld+json']"),a=t.slice(1);if(o){const t=JSON.parse(o.innerText),e=t["@graph"].find((t=>"VideoObject"===t["@type"]))?.creator.url;return`${e.replace("https://www.twitch.tv/","")}/clip/${a}`}const n="embed"===a,i=document.querySelector(n?".tw-link[data-test-selector='stream-info-card-component__stream-avatar-link']":".clips-player a:not([class])");if(!i)return;return`${i.href.replace("https://www.twitch.tv/","")}/clip/${n?e:a}`}async getVideoId(t){const e=t.pathname;if(/^m\.twitch\.tv$/.test(e))return/videos\/([^/]+)/.exec(t.href)?.[0]??e.slice(1);if(/^player\.twitch\.tv$/.test(t.hostname))return`videos/${t.searchParams.get("video")}`;const o=/([^/]+)\/(?:clip)\/([^/]+)/.exec(e);if(o)return o[0];return/^clips\.twitch\.tv$/.test(t.hostname)?await this.getClipLink(e,t.searchParams.get("clip")):/(?:videos)\/([^/]+)/.exec(e)?.[0]}},[k.sap]:class extends ot{API_ORIGIN="https://learning.sap.com/";async requestKaltura(t,e,o){try{const a=await this.fetch(`https://${t}/api_v3/service/multirequest`,{method:"POST",body:JSON.stringify({1:{service:"session",action:"startWidgetSession",widgetId:`_${e}`},2:{service:"baseEntry",action:"list",ks:"{1:result:ks}",filter:{redirectFromEntryId:o},responseProfile:{type:1,fields:"id,referenceId,name,description,dataUrl,duration,flavorParamsIds,type,dvrStatus,externalSourceType,createdAt,updatedAt,endDate,plays,views,downloadUrl,creatorId"}},3:{service:"baseEntry",action:"getPlaybackContext",entryId:"{2:result:objects:0:id}",ks:"{1:result:ks}",contextDataParams:{objectType:"KalturaContextDataParams",flavorTags:"all"}},apiVersion:"3.3.0",format:1,ks:"",clientTag:"html5:v3.17.22",partnerId:e}),headers:{"Content-Type":"application/json"}});return await a.json()}catch(t){return void console.error("Failed to request kaltura data",t.message)}}async getKalturaData(t){try{const e=/https:\/\/([^"]+)\/p\/([^"]+)\/embedPlaykitJs\/uiconf_id\/([^"]+)/.exec(document.querySelector('script[data-nscript="beforeInteractive"]')?.src);if(!e)throw new et(`Failed to get sap data for videoId: ${t}`);const[,o,a]=e;let n=document.querySelector("#shadow")?.firstChild?.getAttribute("id");if(n||(n=/"sourceId":\s?"([^"]+)"/.exec(document.querySelector("#__NEXT_DATA__")?.innerText)?.[1]),!o||Number.isNaN(+a)||!n)throw new et(`One of the necessary parameters for getting a link to a sap video in wasn't found for ${t}. Params: kalturaDomain = ${o}, partnerId = ${a}, entryId = ${n}`);return await this.requestKaltura(o,a,n)}catch(t){return void console.error("Failed to get kaltura data",t.message)}}async getVideoData(t){const e=await this.getKalturaData(t);if(!e)return;const[,o,a]=e,{duration:n}=o.objects[0],i=a.sources.find((t=>"url"===t.format&&"http,https"===t.protocols&&t.url.includes(".mp4")))?.url;if(!i)return;return{url:i,subtitles:a.playbackCaptions.map((t=>({language:V(t.languageCode),format:"vtt",url:t.webVttUrl,isAutoGenerated:t.label.includes("auto-generated")}))),duration:n}}async getVideoId(t){return/((courses|learning-journeys)\/([^/]+)(\/[^/]+)?)/.exec(t.pathname)?.[1]}},[k.udemy]:class extends ot{API_ORIGIN="https://www.udemy.com/api-2.0";getModuleData(){const t=document.querySelector(".ud-app-loader[data-module-id='course-taking']")?.dataset?.moduleArgs;return t?JSON.parse(t):(console.error(z.get("udemyModuleArgsNotFound")),{})}getLectureId(){return/learn\/lecture\/([^/]+)/.exec(window.location.pathname)?.[1]}async getLectureData(t,e){const o=await this.fetch(`${this.API_ORIGIN}/users/me/subscribed-courses/${t}/lectures/${e}/?`+new URLSearchParams({"fields[lecture]":"title,description,asset","fields[asset]":"length,media_sources,captions"}));return await o.json()}async getCourseLang(t){const e=await this.fetch(`${this.API_ORIGIN}/users/me/subscribed-courses/${t}?`+new URLSearchParams({"fields[course]":"locale"}));return await e.json()}findVideoUrl(t){return t?.find((t=>"video/mp4"===t.type))?.src}findSubtitleUrl(t,e){let o=t?.find((t=>G(t.locale_id)===e));return o||(o=t?.find((t=>"en"===G(t.locale_id)))??t?.[0]),o?.url}async getVideoData(t){const{courseId:e}=this.getModuleData();if(!e)return;const o=this.getLectureId();if(M.log(`[Udemy] courseId: ${e}, lectureId: ${o}`),!o)return;const{title:a,description:n,asset:i}=await this.getLectureData(e,o),{length:r,media_sources:s,captions:l}=i,d=this.findVideoUrl(s);if(!d)return void console.log("Failed to find .mp4 video file in media_sources",s);const u=await this.getCourseLang(e);let{locale:{locale:c}}=u;c=c?G(c):"en",at.includes(c)||(c="en");const h=this.findSubtitleUrl(l,c);return h||console.log("Failed to find subtitle file in captions",l),{...h?{url:this.service?.url+t,translationHelp:[{target:"subtitles_file_url",targetUrl:h},{target:"video_file_url",targetUrl:d}],detectedLanguage:c}:{url:d,translationHelp:null},duration:r,title:a,description:n}}async getVideoId(t){return t.pathname.slice(1)}},[k.coursera]:class extends ot{API_ORIGIN="https://www.coursera.org/api";async getCourseData(t){const e=await this.fetch(`${this.API_ORIGIN}/onDemandCourses.v1/${t}`),o=await e.json();return o?.elements?.[0]}getPlayer(){return document.querySelector(".vjs-v8")}getPlayerData(){return this.getPlayer()?.player}findVideoUrl(t){return t?.find((t=>"video/mp4"===t.type))?.src}findSubtitleUrl(t,e){let o=t?.find((t=>G(t.srclang)===e));return o||(o=t?.find((t=>"en"===G(t.srclang)))||t?.[0]),o?.src}async getVideoData(t){const e=this.getPlayerData(),{duration:o}=e?.cache_||{},{courseId:a,tracks:n,sources:i}=e?.options_||{},r=this.findVideoUrl(i);if(!r)return void console.log("Failed to find .mp4 video file in sources",i);const{primaryLanguageCodes:s}=await this.getCourseData(a);let l=s?.[0];l=l?G(l):"en",at.includes(l)||(l="en");const d=this.findSubtitleUrl(n,l);return d||console.log("Failed to find subtitle file in tracks",n),{...d?{url:this.service?.url+t,translationHelp:[{target:"subtitles_file_url",targetUrl:d},{target:"video_file_url",targetUrl:r}]}:{url:r,translationHelp:null},detectedLanguage:l,duration:o}}async getVideoId(t){return/learn\/([^/]+)\/lecture\/([^/]+)/.exec(t.pathname)?.[0]}},[k.linkedin]:class extends ot{API_ORIGIN="https://www.linkedin.com/learning";async getVideoData(t){try{const e=document.querySelector(".video-js");if(!e)throw new et(`Failed to find video element for videoID ${t}`);const o=(e.getAttribute("data-sources")??"[]").replaceAll(""",'"').replaceAll("&","&"),a=JSON.parse(o).find((t=>t.src.includes(".mp4")));if(!a)throw new Error(`Failed to find video url for videoID ${t}`);const n=new URL(a.src),i=e.getAttribute("data-captions-url"),r=i?[{language:"en",format:"vtt",url:i}]:void 0;return{url:A(n),subtitles:r}}catch(t){return void console.error("Failed to get linkedin video data",t.message)}}async getVideoId(t){return/\/learning\/(([^/]+)\/([^/]+))/.exec(t.pathname)?.[1]}},[k.vimeo]:class extends ot{API_KEY="";DEFAULT_SITE_ORIGIN="https://vimeo.com";SITE_ORIGIN=this.isPrivatePlayer()?this.service?.url?.slice(0,-1)??this.DEFAULT_SITE_ORIGIN:this.DEFAULT_SITE_ORIGIN;isErrorData(t){return Object.hasOwn(t,"error")}isPrivatePlayer(){return this.referer&&!this.referer.includes("vimeo.com")}async getViewerData(){try{const t=await this.fetch("https://vimeo.com/_next/viewer"),e=await t.json(),{apiUrl:o,jwt:a}=e;return this.API_ORIGIN=`https://${o}`,this.API_KEY=`jwt ${a}`,e}catch(t){return console.error("Failed to get default viewer data.",t.message),!1}}async getVideoInfo(t){try{const e=new URLSearchParams({fields:"name,link,description,duration"}).toString(),o=await this.fetch(`${this.API_ORIGIN}/videos/${t}?${e}`,{headers:{Authorization:this.API_KEY}}),a=await o.json();if(this.isErrorData(a))throw new Error(a.developer_message??a.error);return a}catch(e){return console.error(`Failed to get video info by video ID: ${t}`,e.message),!1}}async getPrivateVideoSource(t){try{const{default_cdn:e,cdns:o}=t.dash,a=o[e].url,n=await this.fetch(a);if(200!==n.status)throw new et(await n.text());const i=await n.json(),r=new URL(a),s=Array.from(i.base_url.matchAll(/\.\.\//g)).length+1,l=r.pathname.split("/");let d=i.base_url.replaceAll("../","");d=d&&!d.startsWith("/")?`/${d}`:d,r.pathname=l.slice(0,l.length-s).join("/")+d,r.pathname.endsWith("/")||(r.pathname+="/");const u=i.audio.find((t=>"audio/mp4"===t.mime_type&&"dash"===t.format));if(!u)throw new et("Failed to find video data");const c=u.segments?.[0]?.url;if(!c)throw new et("Failed to find first segment url");const[h,p]=c.split("?",2),g=new URLSearchParams(p);return g.delete("range"),r.pathname+=`${u.base_url}${h}`,r.href=r.href.split("?")[0]+"?"+g.toString(),r.href}catch(t){return console.error("Failed to get private video source",t.message),!1}}async getPrivateVideoInfo(t){try{const e=await this.getPrivateVideoSource(playerConfig.request.files);if(!e)throw new et("Failed to get private video source");const{title:o,duration:a}=playerConfig.video,{text_tracks:n}=playerConfig.request;return{url:`${this.SITE_ORIGIN}/${t}`,video_url:e,title:o,duration:a,subs:n}}catch(e){return console.error(`Failed to get private video info by video ID: ${t}`,e.message),!1}}async getSubsInfo(t){try{const e=new URLSearchParams({per_page:"100",fields:"language,type,link"}).toString(),o=await this.fetch(`${this.API_ORIGIN}/videos/${t}/texttracks?${e}`,{headers:{Authorization:this.API_KEY}}),a=await o.json();if(this.isErrorData(a))throw new Error(a.developer_message??a.error);return a}catch(e){return console.error(`Failed to get subtitles info by video ID: ${t}`,e.message),!1}}async getVideoData(t){const e=this.isPrivatePlayer();if(!this.extraInfo)return this.returnBaseData(t);if(e){const e=await this.getPrivateVideoInfo(t);if(!e)return;const{url:o,subs:a,video_url:n,title:i,duration:r}=e,s=a.map((t=>({language:V(t.lang),format:"vtt",url:this.SITE_ORIGIN+t.url,isAutoGenerated:t.lang.includes("autogenerated")}))),l=s.length?[{target:"video_file_url",targetUrl:n},{target:"subtitles_file_url",targetUrl:s[0].url}]:null;return{...l?{url:o,translationHelp:l}:{url:n},subtitles:s,title:i,duration:r}}t.startsWith("video/")&&(t=t.replace("video/","")),t.includes("/")&&(t=t.replace("/",":"));if(!await this.getViewerData())return this.returnBaseData(t);const o=await this.getVideoInfo(t);if(!o)return this.returnBaseData(t);const a=await this.getSubsInfo(t),n=a?a.data.map((t=>({language:V(t.language),format:"vtt",url:t.link,isAutoGenerated:t.language.includes("autogen")}))):[],{link:i,duration:r,name:s,description:l}=o;return{url:i,title:s,description:l,subtitles:n,duration:r}}async getVideoId(t){const e=/[^/]+\/[^/]+$/.exec(t.pathname)?.[0];return this.isPrivatePlayer()?e:e?.startsWith("video/")?e.replace("video/",""):e??/[^/]+$/.exec(t.pathname)?.[0]}}};class st{helpersData;constructor(t={}){this.helpersData=t}getHelper(t){return new rt[t](this.helpersData)}}class lt extends Error{constructor(t){super(t),this.name="VideoDataError",this.message=t}}async function dt(t,e,o={}){const a=new URL(window.location.href),n=t.host;if(Object.keys(rt).includes(n)){const t=new st(o).getHelper(n);return await t.getVideoId(a)}switch(n){case k.custom:return a.href;case k.piped:case k.poketube:case k.invidious:case k.youtube:return"youtu.be"===a.hostname&&(a.search=`?v=${a.pathname.replace("/","")}`,a.pathname="/watch"),/(?:watch|embed|shorts|live)\/([^/]+)/.exec(a.pathname)?.[1]??a.searchParams.get("v");case k.vk:{const t=/^\/(video|clip)-?\d{8,9}_\d{9}$/.exec(a.pathname),o=a.searchParams.get("z"),n=a.searchParams.get("oid"),i=a.searchParams.get("id");if(t)return t[0].slice(1);if(o)return o.split("/")[0];if(n&&i)return`video-${Math.abs(parseInt(n))}_${i}`;const r=e.parentElement?.closest(".video_box_wrap");return r?r.id.replace("video_box_wrap","video"):null}case k.nine_gag:case k.gag:return/gag\/([^/]+)/.exec(a.pathname)?.[1];case k.proxitok:case k.tiktok:return/([^/]+)\/video\/([^/]+)/.exec(a.pathname)?.[0];case k.xvideos:return/[^/]+\/[^/]+$/.exec(a.pathname)?.[0];case k.pornhub:return a.searchParams.get("viewkey")??/embed\/([^/]+)/.exec(a.pathname)?.[1];case k.twitter:return/status\/([^/]+)/.exec(a.pathname)?.[1];case k.rumble:case k.facebook:return a.pathname.slice(1);case k.rutube:return/(?:video|embed)\/([^/]+)/.exec(a.pathname)?.[1];case k.bilibili:{const t=a.searchParams.get("bvid");if(t)return t;let e=/video\/([^/]+)/.exec(a.pathname)?.[1];return e&&null!==a.searchParams.get("p")&&(e+=`/?p=${a.searchParams.get("p")}`),e}case k.bitchute:return/(video|embed)\/([^/]+)/.exec(a.pathname)?.[2];case k.eporner:return/video-([^/]+)\/([^/]+)/.exec(a.pathname)?.[0];case k.peertube:return/\/w\/([^/]+)/.exec(a.pathname)?.[0];case k.dailymotion:{const t=Array.from(document.querySelectorAll("*")).filter((t=>t.innerHTML.trim().includes(".m3u8")));let e=t?.[1]?.lastChild?.src;if(!e)return;return/\/video\/(\w+)\.m3u8/.exec(e)?.[1]}case k.trovo:{const t=a.searchParams.get("vid");if(!t)return null;const e=/([^/]+)\/([\d]+)/.exec(a.pathname)?.[0];return e?`${e}?vid=${t}`:null}case k.yandexdisk:return/\/i\/([^/]+)/.exec(a.pathname)?.[1];case k.okru:return/\/video\/(\d+)/.exec(a.pathname)?.[1];case k.googledrive:return a.searchParams.get("docid");case k.newgrounds:return/([^/]+)\/(view)\/([^/]+)/.exec(a.pathname)?.[0];case k.egghead:return a.pathname.slice(1);case k.youku:return/v_show\/id_[\w=]+/.exec(a.pathname)?.[0];case k.archive:return/(details|embed)\/([^/]+)/.exec(a.pathname)?.[2];case k.watchpornto:return/(video|embed)\/(\d+)(\/[^/]+\/)?/.exec(a.pathname)?.[0];default:return}}async function ut(t,e,o={}){const a=await dt(t,e,o);if(!a)throw new lt(`Entered unsupported link: "${t.host}"`);if(t.host===k.peertube&&(t.url=window.location.origin),t.rawResult)return{url:a,videoId:a,host:t.host,duration:void 0};if(!t.needExtraData)return{url:t.url+a,videoId:a,host:t.host,duration:void 0};const n=new st({...o,service:t}).getHelper(t.host),i=await n.getVideoData(a);if(!i)throw new lt(`Failed to get video raw url for ${t.host}`);return{...i,videoId:a,host:t.host}}class ct extends Error{constructor(t){super(z.getDefault(t)),this.name="VOTLocalizedError",this.unlocalizedMessage=t,this.localizedMessage=z.get(t)}}const{rE:ht}={rE:"1.3.1"};class pt extends Error{data;constructor(t,e=void 0){super(t),this.data=e,this.name="VOTJSError",this.message=t}}class gt{host;hostVOT;schema;schemaVOT;fetch;fetchOpts;getVideoDataFn;sessions={};requestLang;responseLang;userAgent=y.userAgent;componentVersion=y.componentVersion;paths={videoTranslation:"/video-translation/translate",videoSubtitles:"/video-subtitles/get-subtitles",streamPing:"/stream-translation/ping-stream",streamTranslation:"/stream-translation/translate-stream",createSession:"/session/create"};isCustomLink(t){return!!(/\.(m3u8|m4(a|v)|mpd)/.exec(t)??/^https:\/\/cdn\.qstv\.on\.epicgames\.com/.exec(t))}headers={"User-Agent":this.userAgent,Accept:"application/x-protobuf","Accept-Language":"en","Content-Type":"application/x-protobuf",Pragma:"no-cache","Cache-Control":"no-cache","Sec-Fetch-Mode":"no-cors"};headersVOT={"User-Agent":`vot.js/${ht}`,"Content-Type":"application/json",Pragma:"no-cache","Cache-Control":"no-cache"};constructor({host:t=y.host,hostVOT:e=y.hostVOT,fetchFn:o=L,fetchOpts:a={},getVideoDataFn:n=ut,requestLang:i="en",responseLang:r="ru",headers:s={}}={}){const l=/(http(s)?):\/\//,d=l.exec(t)?.[1];this.host=d?t.replace(`${d}://`,""):t,this.schema=d??"https";const u=l.exec(e)?.[1];this.hostVOT=u?e.replace(`${u}://`,""):e,this.schemaVOT=u??"https",this.fetch=o,this.fetchOpts=a,this.getVideoDataFn=n,this.requestLang=i,this.responseLang=r,this.headers={...this.headers,...s}}getOpts(t,e={}){return{method:"POST",headers:{...this.headers,...e},body:t,...this.fetchOpts}}async request(t,e,o={}){const a=this.getOpts(new Blob([e]),o);try{const e=await this.fetch(`${this.schema}://${this.host}${t}`,a),o=await e.arrayBuffer();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}async requestVOT(t,e,o={}){const a=this.getOpts(JSON.stringify(e),{...this.headersVOT,...o});try{const e=await this.fetch(`${this.schemaVOT}://${this.hostVOT}${t}`,a),o=await e.json();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}async getSession(t){const e=Math.floor(Date.now()/1e3),o=this.sessions[t];if(o&&o.timestamp+o.expires>e)return o;const{secretKey:a,expires:n,uuid:i}=await this.createSession(t);return this.sessions[t]={secretKey:a,expires:n,timestamp:e,uuid:i},this.sessions[t]}async translateVideoYAImpl({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,translationHelp:a=null,headers:n={}}){const{url:i,duration:r=y.defaultDuration}=t,{secretKey:s,uuid:l}=await this.getSession("video-translation"),d=b.encodeTranslationRequest(i,r,e,o,a),u=await S(d),c=await this.request(this.paths.videoTranslation,d,{"Vtrans-Signature":u,"Sec-Vtrans-Sk":s,"Sec-Vtrans-Token":`${u}:${l}:${this.paths.videoTranslation}:${this.componentVersion}`,...n});if(!c.success)throw new ct("requestTranslationFailed");const h=b.decodeTranslationResponse(c.data);switch(M.log("requestTranslation",h),h.status){case T.FAILED:throw h?.message?new pt("Yandex couldn't translate video",h):new ct("requestTranslationFailed");case T.FINISHED:case T.PART_CONTENT:if(!h.url)throw new ct("audioNotReceived");return{translated:!0,url:h.url,remainingTime:h.remainingTime??-1};case T.WAITING:return{translated:!1,remainingTime:h.remainingTime};case T.LONG_WAITING:case T.LONG_WAITING_2:return{translated:!1,remainingTime:h.remainingTime??-1};default:throw console.error("[vot.js] Unknown response",h),new pt("Unknown response from Yandex",h)}}async translateVideoVOTImpl({url:t,videoId:e,service:o,requestLang:a=this.requestLang,responseLang:n=this.responseLang,headers:i={}}){const r=function(t,e,o){return t===k.patreon?{service:"mux",videoId:new URL(o).pathname.slice(1)}:{service:t,videoId:e}}(o,e,t),s=await this.requestVOT(this.paths.videoTranslation,{provider:"yandex",service:r.service,videoId:r.videoId,fromLang:a,toLang:n,rawVideo:t},i);if(!s.success)throw new ct("requestTranslationFailed",s);const l=s.data;switch(l.status){case"failed":throw new pt("Yandex couldn't translate video",l);case"success":if(!l.translatedUrl)throw new ct("audioNotReceived");return{translated:!0,url:l.translatedUrl,remainingTime:-1};case"waiting":return{translated:!1,remainingTime:l.remainingTime,message:l.message}}}async translateVideo({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,translationHelp:a=null,headers:n={}}){const{url:i,videoId:r,host:s}=t;return this.isCustomLink(i)?await this.translateVideoVOTImpl({url:i,videoId:r,service:s,requestLang:e,responseLang:o,headers:n}):await this.translateVideoYAImpl({videoData:t,requestLang:e,responseLang:o,translationHelp:a,headers:n})}async getSubtitles({videoData:t,requestLang:e=this.requestLang,headers:o={}}){const{url:a}=t;if(this.isCustomLink(a))return{waiting:!1,subtitles:[]};const{secretKey:n,uuid:i}=await this.getSession("video-translation"),r=b.encodeSubtitlesRequest(a,e),s=await S(r),l=await this.request(this.paths.videoSubtitles,r,{"Vsubs-Signature":await S(r),"Sec-Vsubs-Sk":n,"Sec-Vsubs-Token":`${s}:${i}:${this.paths.videoSubtitles}:${this.componentVersion}`,...o});if(!l.success)throw new pt("Failed to request video subtitles",l);return b.decodeSubtitlesResponse(l.data)}async pingStream({pingId:t,headers:e={}}){const{secretKey:o,uuid:a}=await this.getSession("video-translation"),n=b.encodeStreamPingRequest(t),i=await S(n),r=await this.request(this.paths.streamPing,n,{"Vtrans-Signature":await S(n),"Sec-Vtrans-Sk":o,"Sec-Vtrans-Token":`${i}:${a}:${this.paths.streamPing}:${this.componentVersion}`,...e});if(!r.success)throw new pt("Failed to request stream ping",r);return!0}async translateStream({videoData:t,requestLang:e=this.requestLang,responseLang:o=this.responseLang,headers:n={}}){const{url:i}=t;if(this.isCustomLink(i))throw new ct("VOTStreamNotSupportedUrl");const{secretKey:r,uuid:s}=await this.getSession("video-translation"),l=b.encodeStreamRequest(i,e,o),d=await S(l),u=await this.request(this.paths.streamTranslation,l,{"Vtrans-Signature":await S(l),"Sec-Vtrans-Sk":r,"Sec-Vtrans-Token":`${d}:${s}:${this.paths.streamTranslation}:${this.componentVersion}`,...n});if(!u.success)throw new pt("Failed to request stream translation",u);const c=b.decodeStreamResponse(u.data),h=c.interval;switch(h){case a.NO_CONNECTION:case a.TRANSLATING:return{translated:!1,interval:h,message:h===a.NO_CONNECTION?"streamNoConnectionToServer":"translationTakeFewMinutes"};case a.STREAMING:return{translated:!0,interval:h,pingId:c.pingId,result:c.translatedInfo};default:throw console.error("[vot.js] Unknown response",c),new pt("Unknown response from Yandex",c)}}async createSession(t){const e=function(){let t="";for(let e=0;e<32;e++)t+="0123456789ABCDEF"[Math.floor(16*Math.random())];return t}(),o=b.encodeYandexSessionRequest(e,t),a=await this.request(this.paths.createSession,o,{"Vtrans-Signature":await S(o)});if(!a.success)throw new pt("Failed to request create session",a);return{...b.decodeYandexSessionResponse(a.data),uuid:e}}}class mt extends gt{async request(t,e,o={}){const a=this.getOpts(JSON.stringify({headers:{...this.headers,...o},body:Array.from(e)}),{"Content-Type":"application/json"});try{const e=await this.fetch(`${this.schema}://${this.host}${t}`,a),o=await e.arrayBuffer();return{success:200===e.status,data:o}}catch(t){return{success:!1,data:t?.message}}}}var vt;function ft(t,e=","){const o=t/1e3,a=Math.floor(o/3600),n=Math.floor(o%3600/60),i=Math.floor(o%60),r=Math.floor(t%1e3);return`${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}${e}${r.toString().padStart(3,"0")}`}function bt(t){const e=t.split(" ")?.[0]?.split(":");e.length<3&&e.unshift("00");const[o,a,n]=e;return 36e5*+o+6e4*+a+ +n.replace(/[,.]/,"")}function yt(t,e="srt"){const o="vtt"===e,a=o?".":",",n=t.subtitles.map(((t,e)=>(o?"":`${e+1}\n`)+`${ft(t.startMs,a)} --\x3e ${ft(t.startMs+t.durationMs,a)}\n${t.text}\n\n`)).join("").trim();return o?`WEBVTT\n\n${n}`:n}function wt(t,e="srt"){const o=function(t){return"string"!=typeof t?"json":/(WEBVTT)(\r?\n\r?\n)/.exec(t)?"vtt":"srt"}(t);return o===e?t:"json"===o?yt(t,e):(t=function(t,e="srt"){const o=t.split(/\r?\n\r?\n/g);"vtt"===e&&o.shift();const a=+("srt"===e);return{containsTokens:!1,subtitles:o.reduce(((t,e)=>{const o=e.trim().split("\n"),n=o[a],i=o.slice(a+1).join("\n");if(!(2===o.length&&e.includes(" --\x3e ")||n?.includes(" --\x3e ")))return 0===t.length||(t[t.length-1].text+=`\n\n${o.join("\n")}`),t;const[r,s]=n.split(" --\x3e "),l=bt(r),d=bt(s)-l;return t.push({text:i,startMs:l,durationMs:d,speakerId:"0"}),t}),[])}}(t,o),"json"===e?t:yt(t,e))}!function(t){t.Channel="Channel",t.Video="Video"}(vt||(vt={}));const xt=globalThis,St=xt.trustedTypes,kt=St?St.createPolicy("lit-html",{createHTML:t=>t}):void 0,Tt="$lit$",Ct=`lit$${Math.random().toFixed(9).slice(2)}$`,Lt="?"+Ct,Vt=`<${Lt}>`,At=document,It=()=>At.createComment(""),Ot=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Pt=Array.isArray,Mt=t=>Pt(t)||"function"==typeof t?.[Symbol.iterator],Et="[ \t\n\f\r]",_t=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,$t=/-->/g,Nt=/>/g,Rt=RegExp(`>|${Et}(?:([^\\s"'>=/]+)(${Et}*=${Et}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),Bt=/'/g,Dt=/"/g,Ft=/^(?:script|style|textarea|title)$/i,qt=t=>(e,...o)=>({_$litType$:t,strings:e,values:o}),Ut=qt(1),Ht=qt(2),zt=(qt(3),Symbol.for("lit-noChange")),Wt=Symbol.for("lit-nothing"),jt=new WeakMap,Gt=At.createTreeWalker(At,129);function Yt(t,e){if(!Pt(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==kt?kt.createHTML(e):e}const Kt=(t,e)=>{const o=t.length-1,a=[];let n,i=2===e?"":3===e?"":"",r=_t;for(let e=0;e"===l[0]?(r=n??_t,d=-1):void 0===l[1]?d=-2:(d=r.lastIndex-l[2].length,s=l[1],r=void 0===l[3]?Rt:'"'===l[3]?Dt:Bt):r===Dt||r===Bt?r=Rt:r===$t||r===Nt?r=_t:(r=Rt,n=void 0);const c=r===Rt&&t[e+1].startsWith("/>")?" ":"";i+=r===_t?o+Vt:d>=0?(a.push(s),o.slice(0,d)+Tt+o.slice(d)+Ct+c):o+Ct+(-2===d?e:c)}return[Yt(t,i+(t[o]||"")+(2===e?"":3===e?"":"")),a]};class Jt{constructor({strings:t,_$litType$:e},o){let a;this.parts=[];let n=0,i=0;const r=t.length-1,s=this.parts,[l,d]=Kt(t,e);if(this.el=Jt.createElement(l,o),Gt.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(a=Gt.nextNode())&&s.length0){a.textContent=St?St.emptyScript:"";for(let o=0;o2||""!==o[0]||""!==o[1]?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=Wt}_$AI(t,e=this,o,a){const n=this.strings;let i=!1;if(void 0===n)t=Zt(this,t,e,0),i=!Ot(t)||t!==this._$AH&&t!==zt,i&&(this._$AH=t);else{const a=t;let r,s;for(t=n[0],r=0;r{const a=o?.renderBefore??e;let n=a._$litPart$;if(void 0===n){const t=o?.renderBefore??null;a._$litPart$=n=new Qt(e.insertBefore(It(),t),t,void 0,o??{})}return n._$AI(t),n};function se(t){return String(t).split("").map((t=>t.charCodeAt(0)))}function le(t){return new Uint8Array(se(t))}function de(t){const e=new ArrayBuffer(2*t.length),o=new Uint8Array(e);return new Uint16Array(e).set(se(t)),o}function ue(t){const e=255;return[t>>>24&e,t>>>16&e,t>>>8&e,t&e]}function ce(t){return 11+t}function he(t,e,o,a){return 11+e+1+1+(a?2+2*(o+1):o+1)+t}function pe(t){let e=0;return t.forEach((t=>{e+=2+2*t[0].length+2+2+2*t[1].length+2})),11+e}function ge(t,e){const o=2*e;let a=0;return t.forEach((t=>{a+=2+2*t[0].length+2+4})),18+o+2+a}class me{_setIntegerFrame(t,e){const o=parseInt(e,10);this.frames.push({name:t,value:o,size:ce(o.toString().length)})}_setStringFrame(t,e){const o=e.toString();let a=13+2*o.length;"TDAT"===t&&(a=ce(o.length)),this.frames.push({name:t,value:o,size:a})}_setPictureFrame(t,e,o,a){const n=function(t){if(!t||!t.length)return null;if(255===t[0]&&216===t[1]&&255===t[2])return"image/jpeg";if(137===t[0]&&80===t[1]&&78===t[2]&&71===t[3])return"image/png";if(71===t[0]&&73===t[1]&&70===t[2])return"image/gif";if(87===t[8]&&69===t[9]&&66===t[10]&&80===t[11])return"image/webp";const e=73===t[0]&&73===t[1]&&42===t[2]&&0===t[3],o=77===t[0]&&77===t[1]&&0===t[2]&&42===t[3];return e||o?"image/tiff":66===t[0]&&77===t[1]?"image/bmp":0===t[0]&&0===t[1]&&1===t[2]&&0===t[3]?"image/x-icon":null}(new Uint8Array(e)),i=o.toString();if(!n)throw new Error("Unknown picture MIME type");o||(a=!1),this.frames.push({name:"APIC",value:e,pictureType:t,mimeType:n,useUnicodeEncoding:a,description:i,size:he(e.byteLength,n.length,i.length,a)})}_setLyricsFrame(t,e,o){const a=t.split("").map((t=>t.charCodeAt(0))),n=e.toString(),i=o.toString();var r,s;this.frames.push({name:"USLT",value:i,language:a,description:n,size:(r=n.length,s=i.length,16+2*r+2+2+2*s)})}_setCommentFrame(t,e,o){const a=t.split("").map((t=>t.charCodeAt(0))),n=e.toString(),i=o.toString();var r,s;this.frames.push({name:"COMM",value:i,language:a,description:n,size:(r=n.length,s=i.length,16+2*r+2+2+2*s)})}_setPrivateFrame(t,e){const o=t.toString();var a,n;this.frames.push({name:"PRIV",value:e,id:o,size:(a=o.length,n=e.byteLength,10+a+1+n)})}_setUserStringFrame(t,e){const o=t.toString(),a=e.toString();var n,i;this.frames.push({name:"TXXX",description:o,value:a,size:(n=o.length,i=a.length,13+2*n+2+2+2*i)})}_setUrlLinkFrame(t,e){const o=e.toString();var a;this.frames.push({name:t,value:o,size:(a=o.length,10+a)})}_setPairedTextFrame(t,e){this.frames.push({name:t,value:e,size:pe(e)})}_setSynchronisedLyricsFrame(t,e,o,a,n){const i=n.toString(),r=a.split("").map((t=>t.charCodeAt(0)));this.frames.push({name:"SYLT",value:e,language:r,description:i,type:t,timestampFormat:o,size:ge(e,i.length)})}constructor(t){if(!t||"object"!=typeof t||!("byteLength"in t))throw new Error("First argument should be an instance of ArrayBuffer or Buffer");this.arrayBuffer=t,this.padding=4096,this.frames=[],this.url=""}setFrame(t,e){switch(t){case"TPE1":case"TCOM":case"TCON":{if(!Array.isArray(e))throw new Error(`${t} frame value should be an array of strings`);const o="TCON"===t?";":"/",a=e.join(o);this._setStringFrame(t,a);break}case"TLAN":case"TIT1":case"TIT2":case"TIT3":case"TALB":case"TPE2":case"TPE3":case"TPE4":case"TRCK":case"TPOS":case"TMED":case"TPUB":case"TCOP":case"TKEY":case"TEXT":case"TDAT":case"TSRC":this._setStringFrame(t,e);break;case"TBPM":case"TLEN":case"TYER":this._setIntegerFrame(t,e);break;case"USLT":if(e.language=e.language||"eng","object"!=typeof e||!("description"in e)||!("lyrics"in e))throw new Error("USLT frame value should be an object with keys description and lyrics");if(e.language&&!e.language.match(/[a-z]{3}/i))throw new Error("Language must be coded following the ISO 639-2 standards");this._setLyricsFrame(e.language,e.description,e.lyrics);break;case"APIC":if("object"!=typeof e||!("type"in e)||!("data"in e)||!("description"in e))throw new Error("APIC frame value should be an object with keys type, data and description");if(e.type<0||e.type>20)throw new Error("Incorrect APIC frame picture type");this._setPictureFrame(e.type,e.data,e.description,!!e.useUnicodeEncoding);break;case"TXXX":if("object"!=typeof e||!("description"in e)||!("value"in e))throw new Error("TXXX frame value should be an object with keys description and value");this._setUserStringFrame(e.description,e.value);break;case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":this._setUrlLinkFrame(t,e);break;case"COMM":if(e.language=e.language||"eng","object"!=typeof e||!("description"in e)||!("text"in e))throw new Error("COMM frame value should be an object with keys description and text");if(e.language&&!e.language.match(/[a-z]{3}/i))throw new Error("Language must be coded following the ISO 639-2 standards");this._setCommentFrame(e.language,e.description,e.text);break;case"PRIV":if("object"!=typeof e||!("id"in e)||!("data"in e))throw new Error("PRIV frame value should be an object with keys id and data");this._setPrivateFrame(e.id,e.data);break;case"IPLS":if(!Array.isArray(e)||!Array.isArray(e[0]))throw new Error("IPLS frame value should be an array of pairs");this._setPairedTextFrame(t,e);break;case"SYLT":if("object"!=typeof e||!("type"in e)||!("text"in e)||!("timestampFormat"in e))throw new Error("SYLT frame value should be an object with keys type, text and timestampFormat");if(!Array.isArray(e.text)||!Array.isArray(e.text[0]))throw new Error("SYLT frame text value should be an array of pairs");if(e.type<0||e.type>6)throw new Error("Incorrect SYLT frame content type");if(e.timestampFormat<1||e.timestampFormat>2)throw new Error("Incorrect SYLT frame time stamp format");e.language=e.language||"eng",e.description=e.description||"",this._setSynchronisedLyricsFrame(e.type,e.text,e.timestampFormat,e.language,e.description);break;default:throw new Error(`Unsupported frame ${t}`)}return this}removeTag(){if(this.arrayBuffer.byteLength<10)return;const t=new Uint8Array(this.arrayBuffer),e=t[3],o=((a=[t[6],t[7],t[8],t[9]])[0]<<21)+(a[1]<<14)+(a[2]<<7)+a[3]+10;var a,n;73!==(n=t)[0]||68!==n[1]||51!==n[2]||e<2||e>4||(this.arrayBuffer=new Uint8Array(t.subarray(o)).buffer)}addTag(){this.removeTag();const t=[255,254],e=10+this.frames.reduce(((t,e)=>t+e.size),0)+this.padding,o=new ArrayBuffer(this.arrayBuffer.byteLength+e),a=new Uint8Array(o);let n=0,i=[];return i=[73,68,51,3],a.set(i,n),n+=i.length,n++,n++,i=function(t){const e=127;return[t>>>21&e,t>>>14&e,t>>>7&e,t&e]}(e-10),a.set(i,n),n+=i.length,this.frames.forEach((e=>{switch(i=le(e.name),a.set(i,n),n+=i.length,i=ue(e.size-10),a.set(i,n),n+=i.length,n+=2,e.name){case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":i=le(e.value),a.set(i,n),n+=i.length;break;case"TPE1":case"TCOM":case"TCON":case"TLAN":case"TIT1":case"TIT2":case"TIT3":case"TALB":case"TPE2":case"TPE3":case"TPE4":case"TRCK":case"TPOS":case"TKEY":case"TMED":case"TPUB":case"TCOP":case"TEXT":case"TSRC":i=[1].concat(t),a.set(i,n),n+=i.length,i=de(e.value),a.set(i,n),n+=i.length;break;case"TXXX":case"USLT":case"COMM":i=[1],"USLT"!==e.name&&"COMM"!==e.name||(i=i.concat(e.language)),i=i.concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,i=[0,0].concat(t),a.set(i,n),n+=i.length,i=de(e.value),a.set(i,n),n+=i.length;break;case"TBPM":case"TLEN":case"TDAT":case"TYER":n++,i=le(e.value),a.set(i,n),n+=i.length;break;case"PRIV":i=le(e.id),a.set(i,n),n+=i.length,n++,a.set(new Uint8Array(e.value),n),n+=e.value.byteLength;break;case"APIC":i=[e.useUnicodeEncoding?1:0],a.set(i,n),n+=i.length,i=le(e.mimeType),a.set(i,n),n+=i.length,i=[0,e.pictureType],a.set(i,n),n+=i.length,e.useUnicodeEncoding?(i=[].concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,n+=2):(i=le(e.description),a.set(i,n),n+=i.length,n++),a.set(new Uint8Array(e.value),n),n+=e.value.byteLength;break;case"IPLS":i=[1],a.set(i,n),n+=i.length,e.value.forEach((e=>{i=[].concat(t),a.set(i,n),n+=i.length,i=de(e[0].toString()),a.set(i,n),n+=i.length,i=[0,0].concat(t),a.set(i,n),n+=i.length,i=de(e[1].toString()),a.set(i,n),n+=i.length,i=[0,0],a.set(i,n),n+=i.length}));break;case"SYLT":i=[1].concat(e.language).concat(e.timestampFormat).concat(e.type),a.set(i,n),n+=i.length,i=[].concat(t),a.set(i,n),n+=i.length,i=de(e.description),a.set(i,n),n+=i.length,n+=2,e.value.forEach((e=>{i=[].concat(t),a.set(i,n),n+=i.length,i=de(e[0].toString()),a.set(i,n),n+=i.length,i=[0,0],a.set(i,n),n+=i.length,i=ue(e[1]),a.set(i,n),n+=i.length}))}})),n+=this.padding,a.set(new Uint8Array(this.arrayBuffer),n),this.arrayBuffer=o,o}getBlob(){return new Blob([this.arrayBuffer],{type:"audio/mpeg"})}getURL(){return this.url||(this.url=URL.createObjectURL(this.getBlob())),this.url}revokeURL(){URL.revokeObjectURL(this.url)}}o("./src/styles/main.scss");const ve="#UNDEFINED",fe=Ht` v.mime_type === "audio/mp4" && v.format === "dash"); if (!videoData) { throw new VideoHelperError("Failed to find video data"); @@ -3962,9 +3968,9 @@ class VimeoHelper extends BaseHelper { throw new VideoHelperError("Failed to find first segment url"); } const [videoName, videoParams] = segmentUrl.split("?", 2); - baseUrl.pathname += `/${videoData.base_url}${videoName}`; const params = new URLSearchParams(videoParams); params.delete("range"); + baseUrl.pathname += `${videoData.base_url}${videoName}`; baseUrl.href = baseUrl.href.split("?")[0] + "?" + params.toString(); return baseUrl.href; } diff --git a/package-lock.json b/package-lock.json index e8d52ed0..011e8d63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,21 +7,21 @@ "": { "name": "voice-over-translation", "version": "1.0.0", + "hasInstallScript": true, "license": "MIT", "dependencies": { "bowser": "^2.11.0", "lit": "^3.2.0", "requestidlecallback-polyfill": "^1.0.2", - "vot.js": "^1.3.0" + "vot.js": "^1.3.1" }, "devDependencies": { "browser-id3-writer": "^6.1.0", - "browserslist": "^4.23.3", - "bun-types": "^1.1.28", + "browserslist": "^4.24.0", + "bun-types": "^1.1.29", "enquirer": "^2.4.1", - "eslint": "^9.10.0", - "eslint-plugin-github": "^5.0.2", - "eslint-plugin-oxlint": "^0.9.6", + "eslint": "^9.11.1", + "eslint-plugin-oxlint": "^0.9.8", "eslint-plugin-sonarjs": "^2.0.2", "eslint-webpack-plugin": "^4.2.0", "globals": "^15.9.0", @@ -29,12 +29,12 @@ "lightningcss": "^1.27.0", "lint-staged": "^15.2.10", "npm-run-all2": "^6.2.3", - "oxlint": "^0.9.6", + "oxlint": "^0.9.8", "patch-package": "^8.0.0", "postinstall-postinstall": "^2.1.0", - "sass": "^1.79.1", + "sass": "^1.79.3", "typescript": "^5.6.2", - "webpack": "^5.94.0", + "webpack": "^5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0", "webpack-monkey": "^0.2.1" @@ -2057,6 +2057,16 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/core": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", + "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", @@ -2116,10 +2126,11 @@ "dev": true }, "node_modules/@eslint/js": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz", - "integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==", + "version": "9.11.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz", + "integrity": "sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -2134,10 +2145,11 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz", - "integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", "dev": true, + "license": "Apache-2.0", "dependencies": { "levn": "^0.4.1" }, @@ -2145,12 +2157,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@github/browserslist-config": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz", - "integrity": "sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==", - "dev": true - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -2515,18 +2521,6 @@ "win32" ] }, - "node_modules/@pkgr/core": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", - "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -2582,10 +2576,11 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" }, "node_modules/@types/express": { "version": "4.17.21", @@ -2651,10 +2646,11 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", - "dev": true + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2772,224 +2768,6 @@ "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==", "dev": true }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz", - "integrity": "sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/type-utils": "8.7.0", - "@typescript-eslint/utils": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", - "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz", - "integrity": "sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", - "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", - "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/scope-manager": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", @@ -3007,118 +2785,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz", - "integrity": "sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.7.0", - "@typescript-eslint/utils": "8.7.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", - "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@typescript-eslint/types": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", @@ -3148,115 +2814,7 @@ "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz", - "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.7.0", - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/typescript-estree": "8.7.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", - "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", - "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", - "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "@typescript-eslint/visitor-keys": "8.7.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -3268,40 +2826,20 @@ } } }, - "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", - "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.7.0", - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/brace-expansion": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/minimatch": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3692,15 +3230,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", @@ -4085,9 +3614,9 @@ "license": "MIT" }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "dev": true, "funding": [ { @@ -4103,9 +3632,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, @@ -4198,9 +3728,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "version": "1.0.30001663", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz", + "integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==", "dev": true, "funding": [ { @@ -4215,7 +3745,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", @@ -4760,15 +4291,6 @@ "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -4846,10 +4368,11 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.10.tgz", - "integrity": "sha512-C3RDERDjrNW262GCRvpoer3a0Ksd66CtgDLxMHhzShQ8fhL4kwnpVXsJPAKg9xJjIROXUbLBrvtOzVAjALMIWA==", - "dev": true + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz", + "integrity": "sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==", + "dev": true, + "license": "ISC" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -5128,20 +4651,24 @@ } }, "node_modules/eslint": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz", - "integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==", + "version": "9.11.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz", + "integrity": "sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.6.0", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.10.0", - "@eslint/plugin-kit": "^0.1.0", + "@eslint/js": "9.11.1", + "@eslint/plugin-kit": "^0.2.0", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.3.0", "@nodelib/fs.walk": "^1.2.8", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -5186,18 +4713,6 @@ } } }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", @@ -5244,205 +4759,6 @@ "ms": "^2.1.1" } }, - "node_modules/eslint-plugin-escompat": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.11.1.tgz", - "integrity": "sha512-j/H70uveM+G9M0onQJOYM+h5trTjQfmBnhGzxAxwGrqARfgXwkfjs+SkvJ1j/a4ofyCIYpBQsGg7q+TowwPNmA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.1" - }, - "peerDependencies": { - "eslint": ">=5.14.1" - } - }, - "node_modules/eslint-plugin-eslint-comments": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz", - "integrity": "sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5", - "ignore": "^5.0.5" - }, - "engines": { - "node": ">=6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-eslint-comments/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-plugin-filenames": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", - "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", - "dev": true, - "dependencies": { - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/eslint-plugin-github": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-5.0.2.tgz", - "integrity": "sha512-nMdzWJQ5CimjQDY6SFeJ0KIXuNFf0dgDWEd4eP3UWfuTuP/dXcZJDg7MQRvAFt743T1zUi4+/HdOihfu8xJkLA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@github/browserslist-config": "^1.0.0", - "@typescript-eslint/eslint-plugin": "^8.0.0", - "@typescript-eslint/parser": "^8.0.0", - "aria-query": "^5.3.0", - "eslint-config-prettier": ">=8.0.0", - "eslint-plugin-escompat": "^3.3.3", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-filenames": "^1.3.2", - "eslint-plugin-i18n-text": "^1.0.1", - "eslint-plugin-import": "^2.25.2", - "eslint-plugin-jsx-a11y": "^6.7.1", - "eslint-plugin-no-only-tests": "^3.0.0", - "eslint-plugin-prettier": "^5.0.0", - "eslint-rule-documentation": ">=1.0.0", - "jsx-ast-utils": "^3.3.2", - "prettier": "^3.0.0", - "svg-element-attributes": "^1.3.1" - }, - "bin": { - "eslint-ignore-errors": "bin/eslint-ignore-errors.js" - }, - "peerDependencies": { - "eslint": "^8.0.1" - } - }, - "node_modules/eslint-plugin-github/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/eslint-plugin-github/node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-github/node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-github/node_modules/eslint-plugin-jsx-a11y": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", - "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", - "dev": true, - "dependencies": { - "aria-query": "~5.1.3", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.9.1", - "axobject-query": "~3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-github/node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/eslint-plugin-github/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-i18n-text": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz", - "integrity": "sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA==", - "dev": true, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.3.0.tgz", - "integrity": "sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==", - "dev": true, - "engines": { - "node": ">=5.0.0" - } - }, "node_modules/eslint-plugin-oxlint": { "version": "0.9.8", "resolved": "https://registry.npmjs.org/eslint-plugin-oxlint/-/eslint-plugin-oxlint-0.9.8.tgz", @@ -5453,36 +4769,6 @@ "scule": "^1.3.0" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, "node_modules/eslint-plugin-react": { "version": "7.35.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", @@ -6034,15 +5320,6 @@ "node": ">=10" } }, - "node_modules/eslint-rule-documentation": { - "version": "1.0.23", - "resolved": "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz", - "integrity": "sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/eslint-scope": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", @@ -6293,12 +5570,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -8401,42 +7672,18 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true - }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "dev": true - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "dev": true - }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", @@ -9390,33 +8637,6 @@ "node": ">= 0.8.0" } }, - "node_modules/prettier": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", - "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -10678,32 +9898,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-element-attributes": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz", - "integrity": "sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -11218,9 +10412,9 @@ } }, "node_modules/vot.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vot.js/-/vot.js-1.3.0.tgz", - "integrity": "sha512-WSCwXG+uAOaO70X90iWnzYoGfPO5JtUAFod4iI2Z7+7MZ2fYwMHi40Kzpx3od2MplIguTI15Ss9aeNwvmg8zcQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vot.js/-/vot.js-1.3.1.tgz", + "integrity": "sha512-haeNu1XyLEnrReWAkOpZVDYLKMzz8jwzpWyrufffsO+KBLX8rIZlMDcWk/u2A6fST2rLRzylK9SGsdhAYCAMUg==", "license": "MIT", "dependencies": { "dom-parser": "^1.1.5" @@ -11312,10 +10506,11 @@ } }, "node_modules/webpack": { - "version": "5.94.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", - "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", diff --git a/package.json b/package.json index 13b11215..e5376e1a 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,6 @@ "bowser": "^2.11.0", "lit": "^3.2.0", "requestidlecallback-polyfill": "^1.0.2", - "vot.js": "^1.3.0" + "vot.js": "^1.3.1" } } diff --git a/patches/vot.js+1.3.0+007+added-coursera.patch b/patches/vot.js+1.3.1+007+added-coursera.patch similarity index 99% rename from patches/vot.js+1.3.0+007+added-coursera.patch rename to patches/vot.js+1.3.1+007+added-coursera.patch index b84b4128..e8d4553e 100644 --- a/patches/vot.js+1.3.0+007+added-coursera.patch +++ b/patches/vot.js+1.3.1+007+added-coursera.patch @@ -1,8 +1,8 @@ diff --git a/node_modules/vot.js/dist/config/sites.js b/node_modules/vot.js/dist/config/sites.js -index 410e593..2b01301 100644 +index d5d0dc9..87e664f 100644 --- a/node_modules/vot.js/dist/config/sites.js +++ b/node_modules/vot.js/dist/config/sites.js -@@ -363,6 +363,14 @@ export default [ +@@ -364,6 +364,14 @@ export default [ 'div[data-purpose="curriculum-item-viewer-content"] > section > div > div > div > div:nth-of-type(2)', needExtraData: true, }, diff --git a/yarn.lock b/yarn.lock index c3e1a77e..4a445022 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1031,16 +1031,16 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.8.0": - version "4.11.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== - -"@eslint-community/regexpp@4.10.0": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@4.10.0": version "4.10.0" resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== +"@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.8.0": + version "4.11.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + "@eslint/config-array@^0.18.0": version "0.18.0" resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz" @@ -1050,6 +1050,11 @@ debug "^4.3.1" minimatch "^3.1.2" +"@eslint/core@^0.6.0": + version "0.6.0" + resolved "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz" + integrity sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg== + "@eslint/eslintrc@^3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz" @@ -1065,28 +1070,23 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.10.0": - version "9.10.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.10.0.tgz" - integrity sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g== +"@eslint/js@9.11.1": + version "9.11.1" + resolved "https://registry.npmjs.org/@eslint/js/-/js-9.11.1.tgz" + integrity sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA== "@eslint/object-schema@^2.1.4": version "2.1.4" resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz" integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== -"@eslint/plugin-kit@^0.1.0": - version "0.1.0" - resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz" - integrity sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ== +"@eslint/plugin-kit@^0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz" + integrity sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig== dependencies: levn "^0.4.1" -"@github/browserslist-config@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@github/browserslist-config/-/browserslist-config-1.0.0.tgz" - integrity sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw== - "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" @@ -1226,11 +1226,6 @@ resolved "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-0.9.8.tgz" integrity sha512-wPa3vQb73Pl0z6nkEVmY6G4sO+2xf6QXPqAxDtd7kzxrGrSkTXvTNS/gKIxmvuUy+KjKDcSC2pfJL/074yE6aQ== -"@pkgr/core@^0.1.0": - version "0.1.0" - resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz" - integrity sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ== - "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" @@ -1266,7 +1261,7 @@ dependencies: "@types/node" "*" -"@types/eslint@^8.56.10", "@types/eslint@>=8.0.0": +"@types/eslint@^8.56.10": version "8.56.10" resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz" integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== @@ -1274,10 +1269,10 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/estree@*", "@types/estree@^1.0.5", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.39" @@ -1330,10 +1325,10 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.14" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" @@ -1429,21 +1424,6 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^8.0.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz" - integrity sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.7.0" - "@typescript-eslint/type-utils" "8.7.0" - "@typescript-eslint/utils" "8.7.0" - "@typescript-eslint/visitor-keys" "8.7.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - "@typescript-eslint/eslint-plugin@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz" @@ -1470,17 +1450,6 @@ "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" -"@typescript-eslint/parser@^8.0.0", "@typescript-eslint/parser@^8.0.0 || ^8.0.0-alpha.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.7.0.tgz" - integrity sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ== - dependencies: - "@typescript-eslint/scope-manager" "8.7.0" - "@typescript-eslint/types" "8.7.0" - "@typescript-eslint/typescript-estree" "8.7.0" - "@typescript-eslint/visitor-keys" "8.7.0" - debug "^4.3.4" - "@typescript-eslint/scope-manager@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz" @@ -1497,14 +1466,6 @@ "@typescript-eslint/types" "7.18.0" "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/scope-manager@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz" - integrity sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg== - dependencies: - "@typescript-eslint/types" "8.7.0" - "@typescript-eslint/visitor-keys" "8.7.0" - "@typescript-eslint/type-utils@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz" @@ -1515,16 +1476,6 @@ debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/type-utils@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz" - integrity sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ== - dependencies: - "@typescript-eslint/typescript-estree" "8.7.0" - "@typescript-eslint/utils" "8.7.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - "@typescript-eslint/types@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz" @@ -1535,11 +1486,6 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz" integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/types@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz" - integrity sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w== - "@typescript-eslint/typescript-estree@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz" @@ -1568,20 +1514,6 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/typescript-estree@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz" - integrity sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg== - dependencies: - "@typescript-eslint/types" "8.7.0" - "@typescript-eslint/visitor-keys" "8.7.0" - debug "^4.3.4" - fast-glob "^3.3.2" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - "@typescript-eslint/utils@^7.16.1": version "7.18.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz" @@ -1602,16 +1534,6 @@ "@typescript-eslint/types" "7.16.1" "@typescript-eslint/typescript-estree" "7.16.1" -"@typescript-eslint/utils@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz" - integrity sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.7.0" - "@typescript-eslint/types" "8.7.0" - "@typescript-eslint/typescript-estree" "8.7.0" - "@typescript-eslint/visitor-keys@7.16.1": version "7.16.1" resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz" @@ -1628,14 +1550,6 @@ "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" -"@typescript-eslint/visitor-keys@8.7.0": - version "8.7.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz" - integrity sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ== - dependencies: - "@typescript-eslint/types" "8.7.0" - eslint-visitor-keys "^3.4.3" - "@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1": version "1.12.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz" @@ -1923,13 +1837,6 @@ argparse@^2.0.1: resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - aria-query@~5.1.3: version "5.1.3" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" @@ -2169,13 +2076,13 @@ browser-id3-writer@^6.1.0: resolved "https://registry.npmjs.org/browser-id3-writer/-/browser-id3-writer-6.1.0.tgz" integrity sha512-99mQN3GAZlqWnbA0cispSAab9uJJzzv86ffoA/w6ohfqAi/5qOGbEhh0fRAQMrnhsOBsy89mqMc+JdnaWtJObw== -browserslist@^4.21.10, browserslist@^4.23.1, browserslist@^4.23.3, "browserslist@>= 4.21.0": - version "4.23.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.21.10, browserslist@^4.23.1, browserslist@^4.23.3, browserslist@^4.24.0, "browserslist@>= 4.21.0": + version "4.24.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" node-releases "^2.0.18" update-browserslist-db "^1.1.0" @@ -2189,7 +2096,7 @@ builtin-modules@3.3.0: resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -bun-types@^1.1.28: +bun-types@^1.1.29: version "1.1.29" resolved "https://registry.npmjs.org/bun-types/-/bun-types-1.1.29.tgz" integrity sha512-En3/TzSPMPyl5UlUB1MHzHpcrZDakTm7mS203eLoX1fBoEa3PW+aSS8GAqVJ7Is/m34Z5ogL+ECniLY0uDaCPw== @@ -2230,10 +2137,10 @@ callsites@^3.0.0: resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001646: - version "1.0.30001651" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz" - integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== +caniuse-lite@^1.0.30001663: + version "1.0.30001663" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz" + integrity sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA== chalk@^2.4.2: version "2.4.2" @@ -2570,11 +2477,6 @@ depd@2.0.0: resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - destroy@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" @@ -2621,10 +2523,10 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.4: - version "1.5.10" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.10.tgz" - integrity sha512-C3RDERDjrNW262GCRvpoer3a0Ksd66CtgDLxMHhzShQ8fhL4kwnpVXsJPAKg9xJjIROXUbLBrvtOzVAjALMIWA== +electron-to-chromium@^1.5.28: + version "1.5.28" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.28.tgz" + integrity sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw== emoji-regex@^10.3.0: version "10.3.0" @@ -2823,11 +2725,6 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@*, eslint-config-prettier@>=8.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - eslint-import-resolver-node@^0.3.9: version "0.3.9" resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" @@ -2844,82 +2741,6 @@ eslint-module-utils@^2.8.0: dependencies: debug "^3.2.7" -eslint-plugin-escompat@^3.3.3: - version "3.11.1" - resolved "https://registry.npmjs.org/eslint-plugin-escompat/-/eslint-plugin-escompat-3.11.1.tgz" - integrity sha512-j/H70uveM+G9M0onQJOYM+h5trTjQfmBnhGzxAxwGrqARfgXwkfjs+SkvJ1j/a4ofyCIYpBQsGg7q+TowwPNmA== - dependencies: - browserslist "^4.23.1" - -eslint-plugin-eslint-comments@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz" - integrity sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ== - dependencies: - escape-string-regexp "^1.0.5" - ignore "^5.0.5" - -eslint-plugin-filenames@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz" - integrity sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w== - dependencies: - lodash.camelcase "4.3.0" - lodash.kebabcase "4.1.1" - lodash.snakecase "4.1.1" - lodash.upperfirst "4.3.1" - -eslint-plugin-github@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/eslint-plugin-github/-/eslint-plugin-github-5.0.2.tgz" - integrity sha512-nMdzWJQ5CimjQDY6SFeJ0KIXuNFf0dgDWEd4eP3UWfuTuP/dXcZJDg7MQRvAFt743T1zUi4+/HdOihfu8xJkLA== - dependencies: - "@github/browserslist-config" "^1.0.0" - "@typescript-eslint/eslint-plugin" "^8.0.0" - "@typescript-eslint/parser" "^8.0.0" - aria-query "^5.3.0" - eslint-config-prettier ">=8.0.0" - eslint-plugin-escompat "^3.3.3" - eslint-plugin-eslint-comments "^3.2.0" - eslint-plugin-filenames "^1.3.2" - eslint-plugin-i18n-text "^1.0.1" - eslint-plugin-import "^2.25.2" - eslint-plugin-jsx-a11y "^6.7.1" - eslint-plugin-no-only-tests "^3.0.0" - eslint-plugin-prettier "^5.0.0" - eslint-rule-documentation ">=1.0.0" - jsx-ast-utils "^3.3.2" - prettier "^3.0.0" - svg-element-attributes "^1.3.1" - -eslint-plugin-i18n-text@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-i18n-text/-/eslint-plugin-i18n-text-1.0.1.tgz" - integrity sha512-3G3UetST6rdqhqW9SfcfzNYMpQXS7wNkJvp6dsXnjzGiku6Iu5hl3B0kmk6lIcFPwYjhQIY+tXVRtK9TlGT7RA== - -eslint-plugin-import@^2.25.2: - version "2.29.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - eslint-plugin-import@^2.29.1: version "2.29.1" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" @@ -2943,28 +2764,6 @@ eslint-plugin-import@^2.29.1: semver "^6.3.1" tsconfig-paths "^3.15.0" -eslint-plugin-jsx-a11y@^6.7.1: - version "6.9.0" - resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz" - integrity sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g== - dependencies: - aria-query "~5.1.3" - array-includes "^3.1.8" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "^4.9.1" - axobject-query "~3.1.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.19" - hasown "^2.0.2" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - safe-regex-test "^1.0.3" - string.prototype.includes "^2.0.0" - eslint-plugin-jsx-a11y@^6.8.0: version "6.9.0" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz" @@ -2987,26 +2786,13 @@ eslint-plugin-jsx-a11y@^6.8.0: safe-regex-test "^1.0.3" string.prototype.includes "^2.0.0" -eslint-plugin-no-only-tests@^3.0.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.3.0.tgz" - integrity sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q== - -eslint-plugin-oxlint@^0.9.6: +eslint-plugin-oxlint@^0.9.8: version "0.9.8" resolved "https://registry.npmjs.org/eslint-plugin-oxlint/-/eslint-plugin-oxlint-0.9.8.tgz" integrity sha512-SR6tUbnjXkx6BS5COhqcq9cAW4i1HnHhzZpwpQT0EOI+01O0Yc5FnqrN11xXxu/FKprDIOYT7TEpg57LRNwXUA== dependencies: scule "^1.3.0" -eslint-plugin-prettier@^5.0.0: - version "5.1.3" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - eslint-plugin-react-hooks@4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" @@ -3065,11 +2851,6 @@ eslint-plugin-sonarjs@^2.0.2: typescript "*" vue-eslint-parser "9.4.3" -eslint-rule-documentation@>=1.0.0: - version "1.0.23" - resolved "https://registry.npmjs.org/eslint-rule-documentation/-/eslint-rule-documentation-1.0.23.tgz" - integrity sha512-pWReu3fkohwyvztx/oQWWgld2iad25TfUdi6wvhhaDPIQjHU/pyvlKgXFw1kX31SQK2Nq9MH+vRDWB0ZLy8fYw== - eslint-scope@^7.1.1: version "7.2.2" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" @@ -3128,20 +2909,23 @@ eslint-webpack-plugin@^4.2.0: normalize-path "^3.0.0" schema-utils "^4.2.0" -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.5.0 || ^8.0.0", "eslint@^8.0.0 || ^9.0.0", eslint@^8.0.1, eslint@^8.56.0, "eslint@^8.57.0 || ^9.0.0", eslint@^9.10.0, eslint@>=4.19.1, eslint@>=5.0.0, eslint@>=5.14.1, eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=8.0.0: - version "9.10.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.10.0.tgz" - integrity sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw== +"eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.5.0 || ^8.0.0", "eslint@^8.0.0 || ^9.0.0", eslint@^8.56.0, eslint@^9.11.1, eslint@>=6.0.0: + version "9.11.1" + resolved "https://registry.npmjs.org/eslint/-/eslint-9.11.1.tgz" + integrity sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.11.0" "@eslint/config-array" "^0.18.0" + "@eslint/core" "^0.6.0" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.10.0" - "@eslint/plugin-kit" "^0.1.0" + "@eslint/js" "9.11.1" + "@eslint/plugin-kit" "^0.2.0" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -3297,12 +3081,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.9, fast-glob@^3.3.2: +fast-glob@^3.2.9: version "3.3.2" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -3736,7 +3515,7 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ignore@^5.0.5, ignore@^5.2.0, ignore@^5.3.1: +ignore@^5.2.0, ignore@^5.3.1: version "5.3.2" resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== @@ -4209,7 +3988,7 @@ jsonify@^0.0.1: resolved "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz" integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2, jsx-ast-utils@^3.3.5: +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: version "3.3.5" resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== @@ -4366,36 +4145,16 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.camelcase@4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== -lodash.kebabcase@4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" - integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.snakecase@4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" - integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== - -lodash.upperfirst@4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" - integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== - lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" @@ -4765,7 +4524,7 @@ os-tmpdir@~1.0.2: resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== -oxlint@^0.9.6: +oxlint@^0.9.8: version "0.9.8" resolved "https://registry.npmjs.org/oxlint/-/oxlint-0.9.8.tgz" integrity sha512-FnRcPEerznjvFuAD6fvg04ZwXuihzWZa/ciN2g7o2/rV0uRJGGl4hazrFpetf8uv2pnUr3n5TJ6u4d5rSvaapQ== @@ -4926,18 +4685,6 @@ prelude-ls@^1.2.1: resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^3.0.0, prettier@>=3.0.0: - version "3.3.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" @@ -5265,7 +5012,7 @@ safe-regex-test@^1.0.3: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.79.1: +sass@^1.79.3: version "1.79.3" resolved "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz" integrity sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA== @@ -5704,19 +5451,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-element-attributes@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/svg-element-attributes/-/svg-element-attributes-1.3.1.tgz" - integrity sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA== - -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" @@ -5802,7 +5536,7 @@ tsconfig-paths@^3.15.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^2, tslib@^2.0.0, tslib@^2.6.2, tslib@2: +tslib@^2, tslib@^2.0.0, tslib@2: version "2.6.3" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== @@ -5954,10 +5688,10 @@ vary@~1.1.2: resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== -vot.js@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/vot.js/-/vot.js-1.3.0.tgz" - integrity sha512-WSCwXG+uAOaO70X90iWnzYoGfPO5JtUAFod4iI2Z7+7MZ2fYwMHi40Kzpx3od2MplIguTI15Ss9aeNwvmg8zcQ== +vot.js@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/vot.js/-/vot.js-1.3.1.tgz" + integrity sha512-haeNu1XyLEnrReWAkOpZVDYLKMzz8jwzpWyrufffsO+KBLX8rIZlMDcWk/u2A6fST2rLRzylK9SGsdhAYCAMUg== dependencies: dom-parser "^1.1.5" @@ -6078,10 +5812,10 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.0.0, webpack@^5.1.0, webpack@^5.94.0, webpack@5.x.x: - version "5.94.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== +webpack@^5.0.0, webpack@^5.1.0, webpack@^5.95.0, webpack@5.x.x: + version "5.95.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz" + integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== dependencies: "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1"